RosettaCodeData/Task/Use-another-language-to-call-a-function/FutureBasic/use-another-language-to-call-a-function.basic
2025-02-27 18:35:13 -05:00

23 lines
531 B
Text

include "NSLog.incl"
// FutureBasic function
local fn Query( buffer as ptr, size as ^unsigned long ) as long
CFStringRef string = @"Here am I"
ptr p = fn StringCStringUsingEncoding( string, NSASCIIStringEncoding )
*size = len(string)
BlockMoveData( p, buffer, *size )
end fn = 1
// C code
BeginCCode
char buffer[1024];
size_t Size = sizeof(buffer);
if ( Query( buffer, &Size ) == 0 ) { // call FutureBasic function
NSLog(@"failed to call Query\n");
} else {
NSLog(@"%s",buffer);
}
EndC
HandleEvents