From ab18970f67ed79761358066dab486abb83871b1e Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 17 Dec 2008 20:44:28 +0000 Subject: [PATCH] fix ffi passing offset null pointer svn: r12879 --- src/foreign/foreign.c | 4 ++-- src/foreign/foreign.ssc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/foreign/foreign.c b/src/foreign/foreign.c index 3a7628ca28..ae7d050e1e 100644 --- a/src/foreign/foreign.c +++ b/src/foreign/foreign.c @@ -2347,7 +2347,7 @@ Scheme_Object *ffi_do_call(void *data, int argc, Scheme_Object *argv[]) offset = 0; p = SCHEME2C(SCHEME_CAR(itypes), &(ivals[i]), 0, argv[i], &basetype, &offset, 0); - if (p != NULL) { + if ((p != NULL) || offset) { avalues[i] = p; ivals[i].x_fixnum = basetype; /* remember the base type */ } else { @@ -2370,7 +2370,7 @@ Scheme_Object *ffi_do_call(void *data, int argc, Scheme_Object *argv[]) /* We finished with all possible mallocs, clear up the avalues and offsets * mess */ for (i=0; i