From: Robert Roebling Date: Fri, 23 Jan 2009 22:18:29 +0000 (+0000) Subject: Don't attempt to convert non-ascii strings to filenames X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/8680ee061f68afa4cfadc3ec80db19d4eaea247f?ds=inline Don't attempt to convert non-ascii strings to filenames git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/html/helpdata.cpp b/src/html/helpdata.cpp index 96f4e23cab..83aaac8881 100644 --- a/src/html/helpdata.cpp +++ b/src/html/helpdata.cpp @@ -701,15 +701,29 @@ bool wxHtmlHelpData::AddBook(const wxString& book) wxString wxHtmlHelpData::FindPageByName(const wxString& x) { - int cnt; int i; - wxFileSystem fsys; - wxFSFile *f; - // 1. try to open given file: - cnt = m_bookRecords.GetCount(); - for (i = 0; i < cnt; i++) + bool has_non_ascii = false; + wxString::const_iterator it; + for (it = x.begin(); it != x.end(); ++it) + { + wxUniChar ch = *it; + if (!ch.IsAscii()) + { + has_non_ascii = true; + break; + } + } + + int cnt = m_bookRecords.GetCount(); + + if (!has_non_ascii) { + wxFileSystem fsys; + wxFSFile *f; + // 1. try to open given file: + for (i = 0; i < cnt; i++) + { f = fsys.OpenFile(m_bookRecords[i].GetFullPath(x)); if (f) { @@ -717,6 +731,7 @@ wxString wxHtmlHelpData::FindPageByName(const wxString& x) delete f; return url; } + } }