From: Václav Slavík Date: Thu, 27 Jan 2000 00:03:16 +0000 (+0000) Subject: made unzip.c accept / and \ in filenames as equal X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/6ecb30a36fe6c85e60a2d7c6ac2fbec6f0cf98b2 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 --- diff --git a/src/common/unzip.c b/src/common/unzip.c index eb27f0df89..20d33af180 100644 --- a/src/common/unzip.c +++ b/src/common/unzip.c @@ -826,12 +826,18 @@ extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity) { unz_s* s; int err; - - + const char *c; + char *c2; + char szFileName2[UNZ_MAXFILENAMEINZIP+1]; + uLong num_fileSaved; 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) return UNZ_PARAMERROR; @@ -853,8 +859,9 @@ extern int ZEXPORT unzLocateFile (file, szFileName, iCaseSensitivity) unzGetCurrentFileInfo(file,NULL, szCurrentFileName,sizeof(szCurrentFileName)-1, NULL,0,NULL,0); + for (c2 = szCurrentFileName; *c2 != '\0'; c2++) if (*c2 == '\\') *c2 = '/'; if (unzStringFileNameCompare(szCurrentFileName, - szFileName,iCaseSensitivity)==0) + szFileName2,iCaseSensitivity)==0) return UNZ_OK; err = unzGoToNextFile(file); }