allow passing a null through a cstr arg/return
This commit is contained in:
@@ -1,16 +1,21 @@
|
||||
:- use_module(library(os)).
|
||||
:- use_module(library(ffi)).
|
||||
|
||||
test :-
|
||||
init :-
|
||||
read(Body),
|
||||
term_variables(Body, [LIB]),
|
||||
Body,
|
||||
use_foreign_module(LIB, [
|
||||
'ffi_cstr_len'([cstr], u64),
|
||||
'ffi_example_cstr'([], cstr)
|
||||
]),
|
||||
'ffi_example_cstr'([], cstr),
|
||||
'ffi_null_cstr'([], cstr)
|
||||
]).
|
||||
|
||||
test :-
|
||||
ffi:'ffi_cstr_len'("Scryer Prolog", Len),
|
||||
ffi:'ffi_example_cstr'(Str),
|
||||
write((Len-Str)).
|
||||
ffi:'ffi_null_cstr'(Null),
|
||||
ffi:'ffi_cstr_len'(0, MaxU64),
|
||||
write((Len-Str-Null-MaxU64)).
|
||||
|
||||
:- initialization(test).
|
||||
:- initialization((init,test)).
|
||||
|
||||
Reference in New Issue
Block a user