X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9a83f860948059b0273b5cc6d9e43fadad3ebfca..dca2fe5daecf9c74f227062d8a9a259b4e5ef1fc:/src/html/chm.cpp diff --git a/src/html/chm.cpp b/src/html/chm.cpp index 6eb0e21dac..cf3e04925e 100644 --- a/src/html/chm.cpp +++ b/src/html/chm.cpp @@ -3,7 +3,6 @@ // Purpose: CHM (Help) support for wxHTML // Author: Markus Sinner // Copyright: (c) 2003 Herd Software Development -// CVS-ID: $Id$ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -563,7 +562,6 @@ void wxChmInputStream::CreateHHPStream() { wxFileName file; - bool topic = false; bool hhc = false; bool hhk = false; wxInputStream *i; @@ -619,8 +617,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 +629,6 @@ wxChmInputStream::CreateHHPStream() break; case 2: // DEFAULT_TOPIC tmp = "Default Topic="; - topic = true; break; case 3: // TITLE tmp = "Title="; @@ -649,9 +649,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 +839,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 +851,7 @@ wxFSFile* wxChmFSHandler::OpenFile(wxFileSystem& WXUNUSED(fs), left + wxT("#chm:") + right, wxEmptyString, GetAnchor(location), - wxDateTime(wxFileModificationTime(left))); + wxDateTime(leftFilename.GetModificationTime())); } delete s;