From 9d1f22e7c2002395cc609c1b51fe8351cfef2186 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sat, 27 Dec 2003 08:52:05 +0000 Subject: [PATCH] unified to use ASCII for ZIP entries and fn_str() when passing archive name to unzip.c git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/toback24.txt | 11 +++++++++++ src/common/fs_zip.cpp | 4 ++-- src/common/zipstrm.cpp | 5 +++-- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/docs/toback24.txt b/docs/toback24.txt index 2e56e8c7ac..4eabc1f2a4 100644 --- a/docs/toback24.txt +++ b/docs/toback24.txt @@ -221,6 +221,17 @@ Checking in src/msw/regconf.cpp; /pack/cvsroots/wxwindows/wxWindows/src/msw/regconf.cpp,v <-- regconf.cpp new revision: 1.48; previous revision: 1.47 +31. Cleanup of ZIP charset conversion in Unicode build + +Checking in fs_zip.cpp; +/pack/cvsroots/wxwindows/wxWindows/src/common/fs_zip.cpp,v <-- fs_zip.cpp +new revision: 1.27; previous revision: 1.26 +done +Checking in zipstrm.cpp; +/pack/cvsroots/wxwindows/wxWindows/src/common/zipstrm.cpp,v <-- zipstrm.cpp +new revision: 1.10; previous revision: 1.9 +done + TODO for 2.4 (items that are not backports) =========================================== diff --git a/src/common/fs_zip.cpp b/src/common/fs_zip.cpp index bb449aab85..d322d77547 100644 --- a/src/common/fs_zip.cpp +++ b/src/common/fs_zip.cpp @@ -151,7 +151,7 @@ wxString wxZipFSHandler::FindFirst(const wxString& spec, int flags) m_ZipFile = left; wxString nativename = wxFileSystem::URLToFileName(m_ZipFile).GetFullPath(); - m_Archive = (void*) unzOpen(nativename.mb_str()); + m_Archive = (void*) unzOpen(nativename.fn_str()); m_Pattern = right.AfterLast(wxT('/')); m_BaseDir = right.BeforeLast(wxT('/')); @@ -196,7 +196,7 @@ wxString wxZipFSHandler::DoFind() { unzGetCurrentFileInfo((unzFile)m_Archive, NULL, namebuf, 1024, NULL, 0, NULL, 0); for (c = namebuf; *c; c++) if (*c == '\\') *c = '/'; - namestr = wxString::FromAscii( namebuf ); // TODO what encoding does ZIP use? + namestr = wxString::FromAscii(namebuf); // TODO what encoding does ZIP use? if (m_AllowDirs) { diff --git a/src/common/zipstrm.cpp b/src/common/zipstrm.cpp index d3053e30ff..9401ef1c1a 100644 --- a/src/common/zipstrm.cpp +++ b/src/common/zipstrm.cpp @@ -40,13 +40,14 @@ wxZipInputStream::wxZipInputStream(const wxString& archive, const wxString& file m_Pos = 0; m_Size = 0; - m_Archive = (void*) unzOpen(archive.mb_str()); + m_Archive = (void*) unzOpen(archive.fn_str()); if (m_Archive == NULL) { m_lasterror = wxSTREAM_READ_ERROR; return; } - if (unzLocateFile((unzFile)m_Archive, file.mb_str(), 0) != UNZ_OK) + // TODO what encoding does ZIP use? + if (unzLocateFile((unzFile)m_Archive, file.ToAscii(), 0) != UNZ_OK) { m_lasterror = wxSTREAM_READ_ERROR; return; -- 2.45.2