X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a83f860948059b0273b5cc6d9e43fadad3ebfca..12bb29f5432174ecbd65549bda832d70d34a98ae:/src/html/chm.cpp?ds=sidebyside diff --git a/src/html/chm.cpp b/src/html/chm.cpp index 6eb0e21dac..954bd46490 100644 --- a/src/html/chm.cpp +++ b/src/html/chm.cpp @@ -563,7 +563,6 @@ void wxChmInputStream::CreateHHPStream() { wxFileName file; - bool topic = false; bool hhc = false; bool hhk = false; wxInputStream *i; @@ -619,8 +618,11 @@ wxChmInputStream::CreateHHPStream() switch (code) { case 0: // CONTENTS_FILE - tmp = "Contents file="; - hhc=true; + if (len) + { + tmp = "Contents file="; + hhc=true; + } break; case 1: // INDEX_FILE tmp = "Index file="; @@ -628,7 +630,6 @@ wxChmInputStream::CreateHHPStream() break; case 2: // DEFAULT_TOPIC tmp = "Default Topic="; - topic = true; break; case 3: // TITLE tmp = "Title="; @@ -649,9 +650,10 @@ wxChmInputStream::CreateHHPStream() // LCID at position 0 wxUint32 dummy = *((wxUint32 *)(structptr+0)) ; wxUint32 lcid = wxUINT32_SWAP_ON_BE( dummy ) ; - wxString msg ; - msg.Printf(wxT("Language=0x%X\r\n"),lcid) ; - out->Write(msg.c_str() , msg.length() ) ; + char msg[64]; + int len = sprintf(msg, "Language=0x%X\r\n", lcid) ; + if (len > 0) + out->Write(msg, len) ; } break ; default: @@ -838,6 +840,8 @@ wxFSFile* wxChmFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), } wxFileName leftFilename = wxFileSystem::URLToFileName(left); + if (!leftFilename.FileExists()) + return NULL; // Open a stream to read the content of the chm-file s = new wxChmInputStream(leftFilename.GetFullPath(), right, true); @@ -848,7 +852,7 @@ wxFSFile* wxChmFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), left + wxT("#chm:") + right, wxEmptyString, GetAnchor(location), - wxDateTime(wxFileModificationTime(left))); + wxDateTime(leftFilename.GetModificationTime())); } delete s;