Thanks Igor.

I meant a pointer to an array, sorry. Here's the function prototype:

int run_command(const char *command, char *argv[]);

I could then simply pass this to execve like so:

status = execve(command, argv, envp);



On 06.11.2012, at 15:12, Igor Stasenko <[email protected]> wrote:

> well, you have to decompose it to
> fn(arg1, arg2, arg3 ... )
> 
> because NB does not supports vararg functions.
> 
> But if function takes a pointer to array, then you can just use
> external memory buffer and fill it with
> anything you want.
> What exactly function you wanna use?
> 
> On 6 November 2012 11:06, Max Leske <[email protected]> wrote:
>> Hi
>> 
>> Working with NativeBoost I'm trying to figure out if there is a way I can 
>> pass an array of arguments to a function like so:
>> 
>> MyExample run: 'echo' args: { 'foo' }.
>> 
>> 
>> nbRun: str args: args
>>        <primitive: #primitiveNativeCall module: #NativeBoostPlugin error: 
>> errorCode >
>>         ^ self nbCall: #( int run_command (String str, Array args) ) module: 
>> 'librunner.dylib'
>> 
>> The intention is of course to be able to pass arguments to execve() (for 
>> example).
>> I guess I could simply parse a string on the C-side but I'd rather not.
>> 
>> Any suggestions?
>> 
>> Cheers,
>> Max
> 
> 
> 
> -- 
> Best regards,
> Igor Stasenko.
> 


Reply via email to