96 #ifndef CASESENSITIVITYDEFAULT_NO
97 # if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES)
98 # define CASESENSITIVITYDEFAULT_NO
104 #define UNZ_BUFSIZE (16384)
107 #ifndef UNZ_MAXFILENAMEINZIP
108 #define UNZ_MAXFILENAMEINZIP (256)
112 # define ALLOC(size) (malloc(size))
115 # define TRYFREE(p) {if (p) free(p);}
118 #define SIZECENTRALDIRITEM (0x2e)
119 #define SIZEZIPLOCALHEADER (0x1e)
123 " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll";
190 unsigned long keys[3];
223 if (
ZERROR64(*pzlib_filefunc_def,filestream))
353 char c1=*(fileName1++);
354 char c2=*(fileName2++);
355 if ((
c1>=
'a') && (
c1<=
'z'))
357 if ((
c2>=
'a') && (
c2<=
'z'))
360 return ((
c2==
'\0') ? 0 : -1);
371 #ifdef CASESENSITIVITYDEFAULT_NO
372 #define CASESENSITIVITYDEFAULTVALUE 2
374 #define CASESENSITIVITYDEFAULTVALUE 1
377 #ifndef STRCMPCASENOSENTIVEFUNCTION
378 #define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal
391 const char* fileName2,
392 int iCaseSensitivity)
395 if (iCaseSensitivity==0)
398 if (iCaseSensitivity==1)
399 return strcmp(fileName1,fileName2);
404 #ifndef BUFREADCOMMENT
405 #define BUFREADCOMMENT (0x400)
425 uSizeFile =
ZTELL64(*pzlib_filefunc_def,filestream);
427 if (uMaxBack>uSizeFile)
428 uMaxBack = uSizeFile;
435 while (uBackRead<uMaxBack)
441 uBackRead = uMaxBack;
444 uReadPos = uSizeFile-uBackRead ;
451 if (
ZREAD64(*pzlib_filefunc_def,filestream,
buf,uReadSize)!=uReadSize)
454 for (
i=(
int)uReadSize-3; (
i--)>0;)
455 if (((*(
buf+
i))==0x50) && ((*(
buf+
i+1))==0x4b) &&
456 ((*(
buf+
i+2))==0x05) && ((*(
buf+
i+3))==0x06))
493 uSizeFile =
ZTELL64(*pzlib_filefunc_def,filestream);
495 if (uMaxBack>uSizeFile)
496 uMaxBack = uSizeFile;
503 while (uBackRead<uMaxBack)
509 uBackRead = uMaxBack;
512 uReadPos = uSizeFile-uBackRead ;
519 if (
ZREAD64(*pzlib_filefunc_def,filestream,
buf,uReadSize)!=uReadSize)
522 for (
i=(
int)uReadSize-3; (
i--)>0;)
523 if (((*(
buf+
i))==0x50) && ((*(
buf+
i+1))==0x4b) &&
524 ((*(
buf+
i+2))==0x06) && ((*(
buf+
i+3))==0x07))
569 if (uL != 0x06064b50)
572 return relativeOffset;
586 int is64bitOpenFunction)
595 uLong number_disk_with_CD;
608 if (pzlib_filefunc64_32_def==
NULL)
668 (number_disk_with_CD!=0) ||
715 number_entry_CD = uL;
718 (number_disk_with_CD!=0) ||
768 if (pzlib_filefunc32_def !=
NULL)
781 if (pzlib_filefunc_def !=
NULL)
784 zlib_filefunc64_32_def_fill.
zfile_func64 = *pzlib_filefunc_def;
815 if (
s->pfile_in_zip_read!=
NULL)
857 ptm->
tm_mon = (
int)((((uDate)&0x1E0)/0x20)-1) ;
858 ptm->
tm_year = (
int)(((uDate&0x0FE00)/0x0200)+1980) ;
860 ptm->
tm_hour = (
int) ((ulDosDate &0xF800)/0x800);
861 ptm->
tm_min = (
int) ((ulDosDate&0x7E0)/0x20) ;
862 ptm->
tm_sec = (
int) (2*(ulDosDate&0x1f)) ;
871 *pfile_info_internal,
873 uLong fileNameBufferSize,
875 uLong extraFieldBufferSize,
877 uLong commentBufferSize));
882 *pfile_info_internal,
884 uLong fileNameBufferSize,
886 uLong extraFieldBufferSize,
888 uLong commentBufferSize)
901 if (
ZSEEK64(
s->z_filefunc,
s->filestream,
902 s->pos_in_central_dir+
s->byte_before_the_zipfile,
912 else if (uMagic!=0x02014b50)
977 uSizeRead = fileNameBufferSize;
980 if (
ZREAD64(
s->z_filefunc,
s->filestream,szFileName,uSizeRead)!=uSizeRead)
992 uSizeRead = extraFieldBufferSize;
1003 if (
ZREAD64(
s->z_filefunc,
s->filestream,extraField,(
uLong)uSizeRead)!=uSizeRead)
1039 if (headerId == 0x0001)
1076 acc += 2 + 2 + dataSize;
1089 uSizeRead = commentBufferSize;
1100 if (
ZREAD64(
s->z_filefunc,
s->filestream,szComment,uSizeRead)!=uSizeRead)
1109 *pfile_info=file_info;
1112 *pfile_info_internal=file_info_internal;
1126 char * szFileName,
uLong fileNameBufferSize,
1127 void *extraField,
uLong extraFieldBufferSize,
1128 char* szComment,
uLong commentBufferSize)
1131 szFileName,fileNameBufferSize,
1132 extraField,extraFieldBufferSize,
1133 szComment,commentBufferSize);
1138 char * szFileName,
uLong fileNameBufferSize,
1139 void *extraField,
uLong extraFieldBufferSize,
1140 char* szComment,
uLong commentBufferSize)
1145 szFileName,fileNameBufferSize,
1146 extraField,extraFieldBufferSize,
1147 szComment,commentBufferSize);
1152 pfile_info->
flag = file_info64.
flag;
1155 pfile_info->
crc = file_info64.
crc;
1185 s->pos_in_central_dir=
s->offset_central_dir;
1188 &
s->cur_file_info_internal,
1207 if (!
s->current_file_ok)
1209 if (
s->gi.number_entry != 0xffff)
1210 if (
s->num_file+1==
s->gi.number_entry)
1214 s->cur_file_info.size_file_extra +
s->cur_file_info.size_file_comment ;
1217 &
s->cur_file_info_internal,
1253 if (!
s->current_file_ok)
1257 num_fileSaved =
s->num_file;
1258 pos_in_central_dirSaved =
s->pos_in_central_dir;
1259 cur_file_infoSaved =
s->cur_file_info;
1260 cur_file_info_internalSaved =
s->cur_file_info_internal;
1268 szCurrentFileName,
sizeof(szCurrentFileName)-1,
1273 szFileName,iCaseSensitivity)==0)
1282 s->num_file = num_fileSaved ;
1283 s->pos_in_central_dir = pos_in_central_dirSaved ;
1284 s->cur_file_info = cur_file_infoSaved;
1285 s->cur_file_info_internal = cur_file_info_internalSaved;
1315 if (!
s->current_file_ok)
1353 &
s->cur_file_info_internal,
1365 if (file_pos ==
NULL)
1386 ZPOS64_T * poffset_local_extrafield,
1387 uInt * psize_local_extrafield)
1389 uLong uMagic,uData,uFlags;
1390 uLong size_filename;
1391 uLong size_extra_field;
1395 *poffset_local_extrafield = 0;
1396 *psize_local_extrafield = 0;
1398 if (
ZSEEK64(
s->z_filefunc,
s->filestream,
s->cur_file_info_internal.offset_curfile +
1407 else if (uMagic!=0x04034b50)
1422 else if ((
err==
UNZ_OK) && (uData!=
s->cur_file_info.compression_method))
1425 if ((
err==
UNZ_OK) && (
s->cur_file_info.compression_method!=0) &&
1427 (
s->cur_file_info.compression_method!=
Z_BZIP2ED) &&
1429 (
s->cur_file_info.compression_method!=
Z_DEFLATED))
1437 else if ((
err==
UNZ_OK) && (uData!=
s->cur_file_info.crc) && ((uFlags & 8)==0))
1442 else if (uData != 0xFFFFFFFF && (
err==
UNZ_OK) && (uData!=
s->cur_file_info.compressed_size) && ((uFlags & 8)==0))
1447 else if (uData != 0xFFFFFFFF && (
err==
UNZ_OK) && (uData!=
s->cur_file_info.uncompressed_size) && ((uFlags & 8)==0))
1452 else if ((
err==
UNZ_OK) && (size_filename!=
s->cur_file_info.size_filename))
1455 *piSizeVar += (
uInt)size_filename;
1459 *poffset_local_extrafield=
s->cur_file_info_internal.offset_curfile +
1461 *psize_local_extrafield = (
uInt)size_extra_field;
1463 *piSizeVar += (
uInt)size_extra_field;
1473 int*
level,
int raw,
const char* password)
1480 uInt size_local_extrafield;
1484 if (password !=
NULL)
1491 if (!
s->current_file_ok)
1494 if (
s->pfile_in_zip_read !=
NULL)
1501 if (pfile_in_zip_read_info==
NULL)
1508 pfile_in_zip_read_info->
raw=raw;
1512 TRYFREE(pfile_in_zip_read_info);
1519 *method = (
int)
s->cur_file_info.compression_method;
1524 switch (
s->cur_file_info.flag & 0x06)
1526 case 6 : *
level = 1;
break;
1527 case 4 : *
level = 2;
break;
1528 case 2 : *
level = 9;
break;
1532 if ((
s->cur_file_info.compression_method!=0) &&
1534 (
s->cur_file_info.compression_method!=
Z_BZIP2ED) &&
1536 (
s->cur_file_info.compression_method!=
Z_DEFLATED))
1540 pfile_in_zip_read_info->
crc32_wait=
s->cur_file_info.crc;
1541 pfile_in_zip_read_info->
crc32=0;
1550 if ((
s->cur_file_info.compression_method==
Z_BZIP2ED) && (!raw))
1553 pfile_in_zip_read_info->bstream.bzalloc = (
void *(*) (
void *,
int,
int))0;
1554 pfile_in_zip_read_info->bstream.bzfree = (free_func)0;
1555 pfile_in_zip_read_info->bstream.opaque = (
voidpf)0;
1556 pfile_in_zip_read_info->bstream.state = (
voidpf)0;
1559 pfile_in_zip_read_info->
stream.
zfree = (free_func)0;
1564 err=BZ2_bzDecompressInit(&pfile_in_zip_read_info->bstream, 0, 0);
1569 TRYFREE(pfile_in_zip_read_info);
1573 pfile_in_zip_read_info->
raw=1;
1576 else if ((
s->cur_file_info.compression_method==
Z_DEFLATED) && (!raw))
1579 pfile_in_zip_read_info->
stream.
zfree = (free_func)0;
1589 TRYFREE(pfile_in_zip_read_info);
1601 s->cur_file_info.compressed_size ;
1603 s->cur_file_info.uncompressed_size ;
1612 s->pfile_in_zip_read = pfile_in_zip_read_info;
1616 if (password !=
NULL)
1621 if (
ZSEEK64(
s->z_filefunc,
s->filestream,
1622 s->pfile_in_zip_read->pos_in_zipfile +
1623 s->pfile_in_zip_read->byte_before_the_zipfile,
1629 for (
i = 0;
i<12;
i++)
1632 s->pfile_in_zip_read->pos_in_zipfile+=12;
1665 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1666 if (pfile_in_zip_read_info==
NULL)
1693 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1695 if (pfile_in_zip_read_info==
NULL)
1709 (!(pfile_in_zip_read_info->
raw)))
1715 (pfile_in_zip_read_info->
raw))
1739 uReadThis)!=uReadThis)
1747 for(
i=0;
i<uReadThis;
i++)
1778 for (
i=0;
i<uDoCopy;
i++)
1798 uLong uTotalOutBefore,uTotalOutAfter;
1799 const Bytef *bufBefore;
1802 pfile_in_zip_read_info->bstream.next_in = (
char*)pfile_in_zip_read_info->
stream.
next_in;
1803 pfile_in_zip_read_info->bstream.avail_in = pfile_in_zip_read_info->
stream.
avail_in;
1804 pfile_in_zip_read_info->bstream.total_in_lo32 = pfile_in_zip_read_info->
stream.
total_in;
1805 pfile_in_zip_read_info->bstream.total_in_hi32 = 0;
1806 pfile_in_zip_read_info->bstream.next_out = (
char*)pfile_in_zip_read_info->
stream.
next_out;
1807 pfile_in_zip_read_info->bstream.avail_out = pfile_in_zip_read_info->
stream.
avail_out;
1808 pfile_in_zip_read_info->bstream.total_out_lo32 = pfile_in_zip_read_info->
stream.
total_out;
1809 pfile_in_zip_read_info->bstream.total_out_hi32 = 0;
1811 uTotalOutBefore = pfile_in_zip_read_info->bstream.total_out_lo32;
1812 bufBefore = (
const Bytef *)pfile_in_zip_read_info->bstream.next_out;
1814 err=BZ2_bzDecompress(&pfile_in_zip_read_info->bstream);
1816 uTotalOutAfter = pfile_in_zip_read_info->bstream.total_out_lo32;
1817 uOutThis = uTotalOutAfter-uTotalOutBefore;
1821 pfile_in_zip_read_info->
crc32 =
crc32(pfile_in_zip_read_info->
crc32,bufBefore, (
uInt)(uOutThis));
1823 iRead += (
uInt)(uTotalOutAfter - uTotalOutBefore);
1825 pfile_in_zip_read_info->
stream.
next_in = (
Bytef*)pfile_in_zip_read_info->bstream.next_in;
1826 pfile_in_zip_read_info->
stream.
avail_in = pfile_in_zip_read_info->bstream.avail_in;
1827 pfile_in_zip_read_info->
stream.
total_in = pfile_in_zip_read_info->bstream.total_in_lo32;
1828 pfile_in_zip_read_info->
stream.
next_out = (
Bytef*)pfile_in_zip_read_info->bstream.next_out;
1829 pfile_in_zip_read_info->
stream.
avail_out = pfile_in_zip_read_info->bstream.avail_out;
1830 pfile_in_zip_read_info->
stream.
total_out = pfile_in_zip_read_info->bstream.total_out_lo32;
1832 if (
err==BZ_STREAM_END)
1833 return (iRead==0) ?
UNZ_EOF : iRead;
1840 ZPOS64_T uTotalOutBefore,uTotalOutAfter;
1841 const Bytef *bufBefore;
1861 if (uTotalOutAfter<uTotalOutBefore)
1862 uTotalOutAfter += 1LL << 32;
1863 uOutThis = uTotalOutAfter-uTotalOutBefore;
1867 pfile_in_zip_read_info->
crc32 =
1868 crc32(pfile_in_zip_read_info->
crc32,bufBefore,
1874 iRead += (
uInt)(uTotalOutAfter - uTotalOutBefore);
1899 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1901 if (pfile_in_zip_read_info==
NULL)
1915 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1917 if (pfile_in_zip_read_info==
NULL)
1934 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1936 if (pfile_in_zip_read_info==
NULL)
1969 pfile_in_zip_read_info=
s->pfile_in_zip_read;
1971 if (pfile_in_zip_read_info==
NULL)
1978 return (
int)size_to_read;
1980 if (
len>size_to_read)
1981 read_now = (
uInt)size_to_read;
1997 buf,read_now)!=read_now)
2000 return (
int)read_now;
2016 pfile_in_zip_read_info=
s->pfile_in_zip_read;
2018 if (pfile_in_zip_read_info==
NULL)
2023 (!pfile_in_zip_read_info->
raw))
2025 if (pfile_in_zip_read_info->
crc32 != pfile_in_zip_read_info->
crc32_wait)
2036 BZ2_bzDecompressEnd(&pfile_in_zip_read_info->bstream);
2041 TRYFREE(pfile_in_zip_read_info);
2043 s->pfile_in_zip_read=
NULL;
2062 uReadThis = uSizeBuf;
2063 if (uReadThis>
s->gi.size_comment)
2064 uReadThis =
s->gi.size_comment;
2072 if (
ZREAD64(
s->z_filefunc,
s->filestream,szComment,uReadThis)!=uReadThis)
2076 if ((szComment !=
NULL) && (uSizeBuf >
s->gi.size_comment))
2077 *(szComment+
s->gi.size_comment)=
'\0';
2078 return (
int)uReadThis;
2089 if (!
s->current_file_ok)
2091 if (
s->gi.number_entry != 0 &&
s->gi.number_entry != 0xffff)
2092 if (
s->num_file==
s->gi.number_entry)
2094 return s->pos_in_central_dir;
2104 return (
uLong)offset64;
2116 s->pos_in_central_dir =
pos;
2117 s->num_file =
s->gi.number_entry;
2119 &
s->cur_file_info_internal,
lsl lsr asr ror lsl lsr asr ror lsl lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror c1
lsl lsr asr ror lsl lsr asr ror lsl lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror lsl lsr asr ror c2
#define zdecode(pkeys, pcrc_32_tab, c)
static void init_keys(const char *passwd, unsigned long *pkeys, const z_crc_t *pcrc_32_tab)
static static fork const void static count static fd const char const char static newpath const char static path const char path
int ZEXPORT inflate(z_streamp strm, int flush)
int ZEXPORT inflateEnd(z_streamp strm)
void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def *p_filefunc64_32, const zlib_filefunc_def *p_filefunc32)
void fill_fopen64_filefunc(zlib_filefunc64_def *pzlib_filefunc_def)
#define ZERROR64(filefunc, filestream)
#define ZLIB_FILEFUNC_MODE_EXISTING
#define ZOPEN64(filefunc, filename, mode)
#define ZLIB_FILEFUNC_SEEK_CUR
#define ZSEEK64(filefunc, filestream, pos, mode)
#define ZLIB_FILEFUNC_SEEK_SET
#define ZREAD64(filefunc, filestream, buf, size)
#define ZCLOSE64(filefunc, filestream)
#define ZTELL64(filefunc, filestream)
#define ZLIB_FILEFUNC_SEEK_END
#define ZLIB_FILEFUNC_MODE_READ
unsigned long long int ZPOS64_T
static void struct sockaddr socklen_t static fromlen static backlog static fork char char char static envp int struct rusage static rusage struct utsname static buf struct sembuf unsigned
while(len< limit &&buf1[len]==buf2[len])++len
static struct @218 keys[]
ZPOS64_T byte_before_the_zipfile
ZPOS64_T rest_read_uncompressed
ZPOS64_T offset_local_extrafield
ZPOS64_T rest_read_compressed
zlib_filefunc64_32_def z_filefunc
uInt size_local_extrafield
ZPOS64_T pos_local_extrafield
ZPOS64_T pos_in_zip_directory
zlib_filefunc64_32_def z_filefunc
unz_file_info64 cur_file_info
ZPOS64_T pos_in_central_dir
unz_file_info64_internal cur_file_info_internal
file_in_zip64_read_info_s * pfile_in_zip_read
ZPOS64_T offset_central_dir
ZPOS64_T size_central_dir
ZPOS64_T byte_before_the_zipfile
ZPOS64_T uncompressed_size
uLong pos_in_zip_directory
seek_file_func zseek32_file
zlib_filefunc64_def zfile_func64
tell_file_func ztell32_file
int ZEXPORT unzGetLocalExtrafield(unzFile file, voidp buf, unsigned len)
int ZEXPORT unzOpenCurrentFilePassword(unzFile file, const char *password)
int ZEXPORT unzSetOffset(unzFile file, uLong pos)
z_off_t ZEXPORT unztell(unzFile file)
uLong ZEXPORT unzGetOffset(unzFile file)
#define CASESENSITIVITYDEFAULTVALUE
int ZEXPORT unzLocateFile(unzFile file, const char *szFileName, int iCaseSensitivity)
int ZEXPORT unzGetFilePos(unzFile file, unz_file_pos *file_pos)
#define STRCMPCASENOSENTIVEFUNCTION
int ZEXPORT unzStringFileNameCompare(const char *fileName1, const char *fileName2, int iCaseSensitivity)
ZPOS64_T ZEXPORT unztell64(unzFile file)
int unz64local_getByte(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream, int *pi)
unzFile ZEXPORT unzOpen2_64(const void *path, zlib_filefunc64_def *pzlib_filefunc_def)
#define SIZEZIPLOCALHEADER
int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos *file_pos)
void unz64local_DosDateToTmuDate(ZPOS64_T ulDosDate, tm_unz *ptm)
unzFile ZEXPORT unzOpen(const char *path)
ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream)
int unz64local_getByte OF((const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream, int *pi))
int ZEXPORT unzGetCurrentFileInfo64(unzFile file, unz_file_info64 *pfile_info, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)
int ZEXPORT unzGoToFirstFile(unzFile file)
int ZEXPORT unzeof(unzFile file)
ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream)
int ZEXPORT unzOpenCurrentFile2(unzFile file, int *method, int *level, int raw)
int ZEXPORT unzOpenCurrentFile3(unzFile file, int *method, int *level, int raw, const char *password)
ZPOS64_T ZEXPORT unzGetOffset64(unzFile file)
int ZEXPORT unzOpenCurrentFile(unzFile file)
int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos *file_pos)
int ZEXPORT unzGoToFilePos(unzFile file, unz_file_pos *file_pos)
int ZEXPORT unzReadCurrentFile(unzFile file, voidp buf, unsigned len)
int ZEXPORT unzGetGlobalInfo64(unzFile file, unz_global_info64 *pglobal_info)
int unz64local_CheckCurrentFileCoherencyHeader(unz64_s *s, uInt *piSizeVar, ZPOS64_T *poffset_local_extrafield, uInt *psize_local_extrafield)
int unz64local_getLong64(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream, ZPOS64_T *pX)
unzFile ZEXPORT unzOpen2(const char *path, zlib_filefunc_def *pzlib_filefunc32_def)
int unz64local_getLong(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream, uLong *pX)
#define UNZ_MAXFILENAMEINZIP
int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos)
int ZEXPORT unzGetGlobalInfo(unzFile file, unz_global_info *pglobal_info32)
ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64(unzFile file)
unzFile ZEXPORT unzOpen64(const void *path)
int unz64local_getShort(const zlib_filefunc64_32_def *pzlib_filefunc_def, voidpf filestream, uLong *pX)
int unz64local_GetCurrentFileInfoInternal(unzFile file, unz_file_info64 *pfile_info, unz_file_info64_internal *pfile_info_internal, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)
int ZEXPORT unzCloseCurrentFile(unzFile file)
int ZEXPORT unzGetCurrentFileInfo(unzFile file, unz_file_info *pfile_info, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)
int ZEXPORT unzGoToNextFile(unzFile file)
#define SIZECENTRALDIRITEM
int ZEXPORT unzGetGlobalComment(unzFile file, char *szComment, uLong uSizeBuf)
int strcmpcasenosensitive_internal(const char *fileName1, const char *fileName2)
const char unz_copyright[]
unzFile unzOpenInternal(const void *path, zlib_filefunc64_32_def *pzlib_filefunc64_32_def, int is64bitOpenFunction)
struct unz_file_info64_internal_s unz_file_info64_internal
int ZEXPORT unzClose(unzFile file)
#define UNZ_INTERNALERROR
#define UNZ_END_OF_LIST_OF_FILE
if(dbg->bits==RZ_SYS_BITS_64)
const z_crc_t FAR *ZEXPORT get_crc_table()
unsigned long ZEXPORT crc32(unsigned long crc, const unsigned char FAR *buf, uInt len)
#define inflateInit2(strm, windowBits)