[gambit-list] References between 'foreign' objects.
Estevo
euccastro at yahoo.com
Tue Mar 27 00:03:05 EDT 2012
Correction:
Then I write an accessor:
>
>
>(define (parent-c p)
> (let ((ret ((c-lambda (parent) child
> "___result_voidstar = &(((parent*)___arg1_voidstar)->c);"))))
> ((c-lambda (child scheme-object) void
> "___EXT(___set_data_rc)(___arg1_voidstar, ___arg2);") ; [2]
>
> ret parent)
>
> ret)
>
In this example I forgot to pass `p` to the first c-lambda and I passed `parent` to the second one instead. The corrected version would be:
(define (parent-c p)
(let ((ret ((c-lambda (parent) child
"___result_voidstar = &(((parent*)___arg1_voidstar)->c);")
p)))
((c-lambda (child scheme-object) void
"___EXT(___set_data_rc)(___arg1_voidstar, ___arg2);") ; [2]
ret p)
ret)
More information about the Gambit-list
mailing list