X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/63482fd5e8b546fef76694a4e642d7b219ac4d86..062dfc9a96dc9e796c53544f41ff92dc47f26e82:/src/html/htmlfilt.cpp?ds=sidebyside diff --git a/src/html/htmlfilt.cpp b/src/html/htmlfilt.cpp index 28c3de9e68..0baea69675 100644 --- a/src/html/htmlfilt.cpp +++ b/src/html/htmlfilt.cpp @@ -145,7 +145,7 @@ wxString wxHtmlFilterHTML::ReadFile(const wxFSFile& file) const // tag if we used Content-Type header). #if wxUSE_UNICODE int charsetPos; - if ((charsetPos = file.GetMimeType().Find(_T("; charset="))) != wxNOT_FOUND) + if ((charsetPos = file.GetMimeType().Find(wxT("; charset="))) != wxNOT_FOUND) { wxString charset = file.GetMimeType().Mid(charsetPos + 10); wxCSConv conv(charset); @@ -153,15 +153,19 @@ wxString wxHtmlFilterHTML::ReadFile(const wxFSFile& file) const } else { - wxString tmpdoc; - ReadString(tmpdoc, s, wxConvISO8859_1); + size_t size = s->GetSize(); + wxCharBuffer buf( size+1 ); + s->Read( buf.data(), size ); + *(buf.data() + size) = 0; + wxString tmpdoc( buf, wxConvISO8859_1); + wxString charset = wxHtmlParser::ExtractCharsetInformation(tmpdoc); if (charset.empty()) doc = tmpdoc; else { wxCSConv conv(charset); - doc = wxString(tmpdoc.mb_str(wxConvISO8859_1), conv); + doc = wxString( buf, conv ); } } #else // !wxUSE_UNICODE @@ -171,7 +175,7 @@ wxString wxHtmlFilterHTML::ReadFile(const wxFSFile& file) const { wxString hdr; wxString mime = file.GetMimeType(); - hdr.Printf(_T(""), mime.c_str()); + hdr.Printf(wxT(""), mime.c_str()); return hdr+doc; } #endif