//----------------------------------------------------------------// u32 MOAIDeserializer::IsLuaFile ( cc8* filename ) { ZLFILE* file = ( ZLFILE* )zl_fopen ( filename, "r" ); if ( !file ) return LOAD_ERROR; char magic [ 256 ]; char* str = zl_fgets ( magic, 6, file ); UNUSED ( str ); zl_fclose ( file ); if ( strcmp ( magic, this->GetFileMagic ()) != 0 ) return INVALID_FILE; return SUCCESS; }
//----------------------------------------------------------------// int work_zl_ungetc ( int argc, char **argv ) { char buffer [ 256 ]; // try it straight FILE* file = fopen ( "ungetc.txt", "r" ); memset ( buffer, 0, 256 ); fread ( buffer, 1, 5, file ); ungetc ( '0', file ); ungetc ( '1', file ); ungetc ( '2', file ); ungetc ( '3', file ); ungetc ( '4', file ); fread ( buffer, 1, 3, file ); fseek ( file, 0, SEEK_CUR ); fread ( buffer, 1, 3, file ); fclose ( file ); // try it virtual zl_init (); zl_mount_virtual ( "test", "ungetc.zip" ); zl_chdir ( "test" ); ZLFILE* zfile = zl_fopen ( "ungetc.txt", "r" ); memset ( buffer, 0, 256 ); zl_fread ( buffer, 1, 5, zfile ); zl_ungetc ( '0', zfile ); zl_ungetc ( '1', zfile ); zl_ungetc ( '2', zfile ); zl_ungetc ( '3', zfile ); zl_ungetc ( '4', zfile ); zl_fread ( buffer, 1, 3, zfile ); zl_fseek ( zfile, 0, SEEK_CUR ); zl_fread ( buffer, 1, 3, zfile ); zl_fclose ( zfile ); zl_cleanup (); return 0; }
//----------------------------------------------------------------// int work_zl_fscanf ( int argc, char **argv ) { int result; float f1, f2, f3; char s [ 256 ]; u32 i1, i2; cc8* scanString = "%f, %fabc%f,e-,%*s%d,%x"; f1 = -1.0f; f2 = -1.0f; f3 = -1.0f; *s = 0; i1 = 0; i2 = 0; // try it straight FILE* file = fopen ( "scan.txt", "r" ); result = fscanf ( file, scanString, &f1, &f2, &f3, &i1, &i2 ); fclose ( file ); // try it virtual zl_init (); f1 = -1.0f; f2 = -1.0f; f3 = -1.0f; *s = 0; i1 = 0; i2 = 0; ZLFILE* zfile = zl_fopen ( "scan.txt", "r" ); result = zl_fscanf ( zfile, scanString, &f1, &f2, &f3, &i1, &i2 ); zl_fclose ( zfile ); zl_cleanup (); return 0; }