X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-psi;a=blobdiff_plain;f=src%2Flibffi.c;h=2c68fbf0ee4bb34834dd51b910bdb1ec39e3f3e5;hp=eb5b2b518aa800bf8f9922d50cdd1d66e833785c;hb=22b4a95d8fd6525e4539f843ba5bebb9a56e89f2;hpb=f6b2422d4a9cb0424412a4077241cfd5bcb9ebeb diff --git a/src/libffi.c b/src/libffi.c index eb5b2b5..2c68fbf 100644 --- a/src/libffi.c +++ b/src/libffi.c @@ -10,6 +10,9 @@ # endif # if HAVE_SYS_MMAN_H # include +# ifndef MAP_ANONYMOUS +# define MAP_ANONYMOUS MAP_ANON +# endif # endif #endif @@ -216,7 +219,8 @@ static void handler(ffi_cif *_sig, void *_result, void **_args, void *_data) decl_arg *darg = data->impl->decl->args->args[i]; arg_ptr[i] = psi_do_let(darg); - arg_prm[i] = darg->let->val->is_reference ? &arg_ptr[i] : arg_ptr[i]; + arg_prm[i] = (darg->let->val && darg->let->val->is_reference) + ? &arg_ptr[i] : arg_ptr[i]; darg->let->ptr = arg_ptr[i]; }