gzstream closing fix
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@5739 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
@@ -45,7 +45,7 @@ mapstats *loadmapstats(const char *filename, bool getlayout)
|
||||
stream *f = opengzfile(filename, "rb");
|
||||
if(!f) return NULL;
|
||||
memset(&s.hdr, 0, sizeof(header));
|
||||
if(f->read(&s.hdr, sizeof(header)-sizeof(int)*16-sizeof(char)*128)!=sizeof(header)-sizeof(int)*16-sizeof(char)*128 || (strncmp(s.hdr.head, "CUBE", 4) && strncmp(s.hdr.head, "ACMP",4))) { gzclose(f); return NULL; }
|
||||
if(f->read(&s.hdr, sizeof(header)-sizeof(int)*16-sizeof(char)*128)!=sizeof(header)-sizeof(int)*16-sizeof(char)*128 || (strncmp(s.hdr.head, "CUBE", 4) && strncmp(s.hdr.head, "ACMP",4))) { delete f; return NULL; }
|
||||
lilswap(&s.hdr.version, 4);
|
||||
if(s.hdr.version>MAPVERSION || s.hdr.numents > MAXENTITIES || (s.hdr.version>=4 && f->read(&s.hdr.waterlevel, sizeof(int)*16)!=sizeof(int)*16)) { delete f; return NULL; }
|
||||
if(s.hdr.version>=7 && f->read(&s.hdr.mediareq, sizeof(char)*128)!=sizeof(char)*128) { delete f; return NULL; }
|
||||
|
||||
Reference in New Issue
Block a user