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
This commit is contained in:
@@ -221,6 +221,17 @@ Checking in src/msw/regconf.cpp;
|
|||||||
/pack/cvsroots/wxwindows/wxWindows/src/msw/regconf.cpp,v <-- regconf.cpp
|
/pack/cvsroots/wxwindows/wxWindows/src/msw/regconf.cpp,v <-- regconf.cpp
|
||||||
new revision: 1.48; previous revision: 1.47
|
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)
|
TODO for 2.4 (items that are not backports)
|
||||||
===========================================
|
===========================================
|
||||||
|
@@ -151,7 +151,7 @@ wxString wxZipFSHandler::FindFirst(const wxString& spec, int flags)
|
|||||||
|
|
||||||
m_ZipFile = left;
|
m_ZipFile = left;
|
||||||
wxString nativename = wxFileSystem::URLToFileName(m_ZipFile).GetFullPath();
|
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_Pattern = right.AfterLast(wxT('/'));
|
||||||
m_BaseDir = right.BeforeLast(wxT('/'));
|
m_BaseDir = right.BeforeLast(wxT('/'));
|
||||||
|
|
||||||
@@ -196,7 +196,7 @@ wxString wxZipFSHandler::DoFind()
|
|||||||
{
|
{
|
||||||
unzGetCurrentFileInfo((unzFile)m_Archive, NULL, namebuf, 1024, NULL, 0, NULL, 0);
|
unzGetCurrentFileInfo((unzFile)m_Archive, NULL, namebuf, 1024, NULL, 0, NULL, 0);
|
||||||
for (c = namebuf; *c; c++) if (*c == '\\') *c = '/';
|
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)
|
if (m_AllowDirs)
|
||||||
{
|
{
|
||||||
|
@@ -40,13 +40,14 @@ wxZipInputStream::wxZipInputStream(const wxString& archive, const wxString& file
|
|||||||
|
|
||||||
m_Pos = 0;
|
m_Pos = 0;
|
||||||
m_Size = 0;
|
m_Size = 0;
|
||||||
m_Archive = (void*) unzOpen(archive.mb_str());
|
m_Archive = (void*) unzOpen(archive.fn_str());
|
||||||
if (m_Archive == NULL)
|
if (m_Archive == NULL)
|
||||||
{
|
{
|
||||||
m_lasterror = wxSTREAM_READ_ERROR;
|
m_lasterror = wxSTREAM_READ_ERROR;
|
||||||
return;
|
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;
|
m_lasterror = wxSTREAM_READ_ERROR;
|
||||||
return;
|
return;
|
||||||
|
Reference in New Issue
Block a user