コード例 #1
0
static int pmain(lua_State* L)
{
 struct Smain* s = (struct Smain*)lua_touserdata(L, 1);
 int argc=s->argc;
 char** argv=s->argv;
 const Proto* f;
 int i;
 if (!lua_checkstack(L,argc)) fatal("too many input files");
 for (i=0; i<argc; i++)
 {
  const char* filename=IS("-") ? NULL : argv[i];
  if (luaL_loadfile(L,filename)!=0) fatal(lua_tostring(L,-1));
 }
 f=combine(L,argc);
 if (listing) luaU_print(f,listing>1);
 if (dumping)
 {
  ZIPFSFILE* D= (output==NULL) ? zipfs_stdout : zipfs_fopen(output,"wb");
  if (D==NULL) cannot("open");
  lua_lock(L);
  luaU_dump(L,f,writer,D,stripping);
  lua_unlock(L);
  if (zipfs_ferror(D)) cannot("write");
  if (zipfs_fclose(D)) cannot("close");
 }
 return 0;
}
コード例 #2
0
//----------------------------------------------------------------//
u32 USLuaSerializer::IsLuaFile ( cc8* filename ) {

	ZIPFSFILE* file = ( ZIPFSFILE* )zipfs_fopen ( filename, "r" );
	if ( !file ) return LOAD_ERROR;
	
	char magic [ 256 ];
	char* str = zipfs_fgets ( magic, 6, file );
	UNUSED ( str );
	zipfs_fclose ( file );
	
	if ( strcmp ( magic, this->GetFileMagic ()) != 0 ) return INVALID_FILE;
	
	return SUCCESS;
}
コード例 #3
0
ファイル: zipfs.c プロジェクト: SimonRen/moai-beta
	errno_t zipfs_fopen_s ( ZIPFSFILE** fp, const char* filename, const char* mode ) {

		*fp = zipfs_fopen ( filename, mode );
		return errno;
	}