made unzip.c accept / and \ in filenames as equal
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -826,11 +826,17 @@ extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity)
|
|||||||
{
|
{
|
||||||
unz_s* s;
|
unz_s* s;
|
||||||
int err;
|
int err;
|
||||||
|
const char *c;
|
||||||
|
char *c2;
|
||||||
|
char szFileName2[UNZ_MAXFILENAMEINZIP+1];
|
||||||
|
|
||||||
uLong num_fileSaved;
|
uLong num_fileSaved;
|
||||||
uLong pos_in_central_dirSaved;
|
uLong pos_in_central_dirSaved;
|
||||||
|
|
||||||
|
for (c = szFileName, c2 = szFileName2; *c != '\0'; c++, c2++)
|
||||||
|
if (*c == '\\') *c2 = '/';
|
||||||
|
else *c2 = *c;
|
||||||
|
*c2 = '\0';
|
||||||
|
|
||||||
if (file==NULL)
|
if (file==NULL)
|
||||||
return UNZ_PARAMERROR;
|
return UNZ_PARAMERROR;
|
||||||
@@ -853,8 +859,9 @@ extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity)
|
|||||||
unzGetCurrentFileInfo(file,NULL,
|
unzGetCurrentFileInfo(file,NULL,
|
||||||
szCurrentFileName,sizeof(szCurrentFileName)-1,
|
szCurrentFileName,sizeof(szCurrentFileName)-1,
|
||||||
NULL,0,NULL,0);
|
NULL,0,NULL,0);
|
||||||
|
for (c2 = szCurrentFileName; *c2 != '\0'; c2++) if (*c2 == '\\') *c2 = '/';
|
||||||
if (unzStringFileNameCompare(szCurrentFileName,
|
if (unzStringFileNameCompare(szCurrentFileName,
|
||||||
szFileName,iCaseSensitivity)==0)
|
szFileName2,iCaseSensitivity)==0)
|
||||||
return UNZ_OK;
|
return UNZ_OK;
|
||||||
err = unzGoToNextFile(file);
|
err = unzGoToNextFile(file);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user