Callback instantiation: createCallback > ^ FFICallback > signature: #(long (long)) > block: [ :value | value ]
C functions: long test(long(*function)(long), long value) { > return function(value); } #include <limits.h> > > long long_min() { > return LONG_MIN; > } FFI calls: primCall: aCallback long: aNumber > ^ self ffiCall: #(long test(FFICallback aCallback, long aNumber)) > primLongMin > ^ self ffiCall: #(long long_min()) Test case: test > self > assert: (self primCall: self createCallback long: self primLongMin) equals: self primLongMin self primLongMin returns -2147483648 (= LONG_MIN). Result of callback is 0 => test fails. P.S. works in Pharo 5 Cheers, Alex