#ifdef SWIGPYTHON %typemap(in) string_allows_none { if($input==Py_None) { $1=NULL; } else { $1=PyString_AsString($input); if(!$1) { return NULL; } } } %inline %{ typedef char * string_allows_none; %} %typemap(out) char ** { int len=0,i; PyObject * stringobject; if(!$1) { $result=PyList_New(0); } else { for(len=0;$1[len];len++); $result=PyList_New(len); if(!$result){ // G_free_list($1); return NULL; } for(i=0;i