Hi,
Please excuse the poor use of terminology in the following message. I'm stabbing around in the dark when it comes to C. I'll need to get a textbook someday and learn it properly.
How do you pass a "double pointer" to a C function. For example, here's the signature for sqlite's open
int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ );
I'd like to define a cffi function that lets me call this and keep a handle on the ppDb object that gets created as a result.
I've tried various combinations of (foreign-alloc ..) and (null-pointer) but always got a memory exception when trying to use the handle in another function.
The sqlite stuff has lots of these functions that modify input parameters and return error codes rather than returning some opaque object like the CFFI example does.
Cheers, Andy