From 58de0364b0e204a00aed6ef019f5800e533663bf Mon Sep 17 00:00:00 2001 From: slava Date: Sat, 11 Mar 2006 08:26:55 +0000 Subject: [PATCH] Fix callback tests --- library/test/compiler/callbacks.factor | 6 +++--- native/alien.c | 4 +--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/library/test/compiler/callbacks.factor b/library/test/compiler/callbacks.factor index 5987335d7e..2129a30101 100644 --- a/library/test/compiler/callbacks.factor +++ b/library/test/compiler/callbacks.factor @@ -118,11 +118,11 @@ END-STRUCT : make-foo ( x y -- foo ) "foo" [ set-foo-y ] keep [ set-foo-x ] keep ; -: callback-10 +: callback-14 "int" { "foo" } [ dup foo-x swap foo-y / ] alien-callback ; compiled -FUNCTION: int callback_test_8 void* callback foo x ; +FUNCTION: int callback_test_8 void* callback foo x ; compiled -[ 5 ] [ callback-10 10 2 make-foo callback_test_8 ] unit-test +[ 5 ] [ callback-14 10 2 make-foo callback_test_8 ] unit-test diff --git a/native/alien.c b/native/alien.c index 70074d7f64..1700522fea 100644 --- a/native/alien.c +++ b/native/alien.c @@ -155,9 +155,7 @@ void unbox_value_struct(void *dest, CELL size) /* for FFI callbacks receiving structs by value */ void box_value_struct(void *src, CELL size) { - F_ARRAY *array; - maybe_gc(0); - array = byte_array(size); + F_ARRAY *array = byte_array(size); memcpy(array + 1,src,size); dpush(tag_object(array)); }