"Hoehle, Joerg-Cyril" <[EMAIL PROTECTED]> writes: > Uhoh, then it's likely not the FFI. Please investigate.
It looks like the problem is with FFI:UNSIGNED-FOREIGN-ADDRESS and FFI:FOREIGN-ADDRESS-UNSIGNED expecting and returning 32-bit integers: [ ...with *print-base* set to 16... ] CFFI[47]> (ffi:with-foreign-object (x 'ffi:int) (print (ffi:foreign-address x)) (print (ffi:foreign-address-unsigned (ffi:foreign-address x))) nil) #<FOREIGN-ADDRESS #x00007FFFFFEF3750> FFEF3750 NIL CFFI[49]> (ffi:unsigned-foreign-address #x100000000) *** - not a 32-bit integer: 100000000 The following restarts are available: ABORT :R1 ABORT Break 1 CFFI[50]> This breaks CFFI-SYS:INC-POINTER which ends up returning bogus pointers because the high 32 bits have been truncated. James _______________________________________________ cffi-devel mailing list cffi-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel