int im_free_vargv( im_function *fn, im_object *vargv ) int im_allocate_vargv( im_function *fn, im_object *vargv )
These two functions allocate space for and free VIPS argument lists. The
allocate function simply calls im_malloc()
to allocate any store
that the types require (and also initializes it to zero). The free function
just calls im_free()
for any storage that was allocated.
Note that neither of these functions calls the init
, dest
or print
functions for the types -- that's up to you.
int im_run_command( char *name, int argc, char **argv )
This function does everything. In effect,
im_run_command( "im_invert", 2, { "fred.v", "fred2.v", NULL } )
is exactly equivalent to
system( "vips im_invert fred.v fred2.v" )
but no process is forked.