To keep the context short & sweet:
Code:
typedef struct _NEW_PAWS
{
NEW_PAWBUF buff;
pawhhs args;
va_list va;
} NEW_PAWS;
#define INIT_NEW_PAWS { INIT_NEW_PAWBUF, NULL, }
I need to know what to put in the 3rd parameter that's cross-compiler/platform safe as the equivalent of 0,false,NULL etc, the args member will be used to check if the va member should be used, I'm using this with a global "class" initialiser something like:
Code:
...
ud = PawAlloc( NULL, cls->size );
if ( ud )
{
memset( ud, 0, cls->size );
if ( cls->init && cls->init( id, ud, cfg ) != 0 )
{
PawAlloc( ud, 0 );
return -1;
}
return id;
}
...
return -1;
So forcing an extra member isn't really a good solution and I don't want the compiler refusing to compile in specific setups just because the va member wasn't initialised.