rendered paste bodyPyObject *M_Library_Open( PyObject * self, PyObject * args )
{
char *fname = NULL;
char filename[FILE_MAXDIR+FILE_MAXFILE];
char fname1[FILE_MAXDIR+FILE_MAXFILE];
int len = 0;
if( !PyArg_ParseTuple( args, "s", &fname ) ) {
return EXPP_ReturnPyObjError( PyExc_TypeError,
"expected a .blend filename" );
}
if( bpy_openlib ) {
M_Library_Close( self );
Py_DECREF( Py_None ); /* incref'ed by above function */
}
BLI_strncpy(fname1, fname, sizeof(fname));
BLI_convertstringcode(name1, G.sce, 0);
/* G.sce = last file loaded, save for UI and restore after opening file */
BLI_strncpy(filename, G.sce, sizeof(filename));
bpy_openlib = BLO_blendhandle_from_file( fname1 );
BLI_strncpy(G.sce, filename, sizeof(filename));
if( !bpy_openlib )
return Py_BuildValue( "i", 0 );
len = strlen( fname ) + 1; /* +1 for terminating '\0' */
bpy_openlibname = MEM_mallocN( len, "bpy_openlibname" );
if( bpy_openlibname )
PyOS_snprintf( bpy_openlibname, len, "%s", fname );
return Py_BuildValue( "i", 1 );
}