Exemple #1
0
//Func: Serialiser:Close()
//Retn: --
int JPLua_Serialiser_Close( lua_State *L ) {
	jplua_serialiser_t *serialiser = JPLua_CheckSerialiser( L, 1 );

	if ( serialiser->write ) {
		const char *buffer = cJSON_Serialize( serialiser->outRoot, 1 );

		trap->FS_Write( buffer, strlen( buffer ), serialiser->fileHandle );
		free( (void *)buffer );

		cJSON_Delete( serialiser->outRoot );
		serialiser->outRoot = NULL;
		serialiser->write = qfalse;
	}

	if ( serialiser->read ) {
		serialiser->inRoot = NULL;
		serialiser->read = qfalse;
	}

	trap->FS_Close( serialiser->fileHandle );
	serialiser->fileHandle = NULL_FILE;
	serialiser->fileName[0] = '\0';

	return 0;
}
Exemple #2
0
//Func: Serialiser:Close()
//Retn: --
int JPLua_Serialiser_Close( lua_State *L )
{
	jplua_serialiser_t *serialiser = JPLua_CheckSerialiser( L, 1 );
	const char *buffer = cJSON_Serialize( serialiser->outRoot, 1 );

	trap->FS_Write( buffer, strlen( buffer ), serialiser->fileHandle );
	trap->FS_Close( serialiser->fileHandle );
	serialiser->fileHandle = 0;

	free( (void *)buffer );
	cJSON_Delete( serialiser->outRoot );
	serialiser->fileName[0] = '\0';

	return 0;
}