// DLL options compatibility check:
WX_CHECK_BUILD_OPTIONS("wxHTML")
-const wxChar *wxTRACE_HTML_DEBUG = _T("htmldebug");
+const wxChar *wxTRACE_HTML_DEBUG = wxT("htmldebug");
//-----------------------------------------------------------------------------
// wxHtmlParser helpers
}
m_Tags = m_CurTag = NULL;
- delete m_TextPieces;
- m_TextPieces = NULL;
+ wxDELETE(m_TextPieces);
}
void wxHtmlParser::DoParsing()
IMPLEMENT_DYNAMIC_CLASS(wxHtmlEntitiesParser,wxObject)
wxHtmlEntitiesParser::wxHtmlEntitiesParser()
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
+#if !wxUSE_UNICODE
: m_conv(NULL), m_encoding(wxFONTENCODING_SYSTEM)
#endif
{
wxHtmlEntitiesParser::~wxHtmlEntitiesParser()
{
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
+#if !wxUSE_UNICODE
delete m_conv;
#endif
}
+#if !wxUSE_UNICODE
void wxHtmlEntitiesParser::SetEncoding(wxFontEncoding encoding)
{
-#if wxUSE_WCHAR_T && !wxUSE_UNICODE
if (encoding == m_encoding)
return;
m_conv = NULL;
else
m_conv = new wxCSConv(wxFontMapper::GetEncodingName(m_encoding));
-#else
- (void) encoding;
-#endif
}
+#endif // !wxUSE_UNICODE
wxString wxHtmlEntitiesParser::Parse(const wxString& input) const
{
#if !wxUSE_UNICODE
wxChar wxHtmlEntitiesParser::GetCharForCode(unsigned code) const
{
-#if wxUSE_WCHAR_T
char buf[2];
wchar_t wbuf[2];
wbuf[0] = (wchar_t)code;
if (conv->WC2MB(buf, wbuf, 2) == (size_t)-1)
return '?';
return buf[0];
-#else
- return (code < 256) ? (wxChar)code : '?';
-#endif
}
#endif
{
unsigned code = 0;
+ if (entity.empty())
+ return 0; // invalid entity reference
+
if (entity[0] == wxT('#'))
{
// NB: parsed value is a number, so it's OK to use wx_str(), internal
ENTITY("amp", 38),
ENTITY("and", 8743),
ENTITY("ang", 8736),
+ ENTITY("apos", 39),
ENTITY("aring", 229),
ENTITY("asymp", 8776),
ENTITY("atilde", 227),
while (substitutions[substitutions_cnt].code != 0)
substitutions_cnt++;
- wxHtmlEntityInfo *info = NULL;
+ wxHtmlEntityInfo *info;
#ifdef __WXWINCE__
// bsearch crashes under WinCE for some reason
+ info = NULL;
size_t i;
for (i = 0; i < substitutions_cnt; i++)
{
protected:
virtual void AddText(const wxString& WXUNUSED(txt)) {}
- DECLARE_NO_COPY_CLASS(wxMetaTagParser)
+ wxDECLARE_NO_COPY_CLASS(wxMetaTagParser);
};
class wxMetaTagHandler : public wxHtmlTagHandler
private:
wxString *m_retval;
- DECLARE_NO_COPY_CLASS(wxMetaTagHandler)
+ wxDECLARE_NO_COPY_CLASS(wxMetaTagHandler);
};
bool wxMetaTagHandler::HandleTag(const wxHtmlTag& tag)
{
- if (tag.GetName() == _T("BODY"))
+ if (tag.GetName() == wxT("BODY"))
{
m_Parser->StopParsing();
return false;
}
- if (tag.HasParam(_T("HTTP-EQUIV")) &&
- tag.GetParam(_T("HTTP-EQUIV")).IsSameAs(_T("Content-Type"), false) &&
- tag.HasParam(_T("CONTENT")))
+ if (tag.HasParam(wxT("HTTP-EQUIV")) &&
+ tag.GetParam(wxT("HTTP-EQUIV")).IsSameAs(wxT("Content-Type"), false) &&
+ tag.HasParam(wxT("CONTENT")))
{
- wxString content = tag.GetParam(_T("CONTENT")).Lower();
- if (content.Left(19) == _T("text/html; charset="))
+ wxString content = tag.GetParam(wxT("CONTENT")).Lower();
+ if (content.Left(19) == wxT("text/html; charset="))
{
*m_retval = content.Mid(19);
m_Parser->StopParsing();
wxHtmlParser::SkipCommentTag(wxString::const_iterator& start,
wxString::const_iterator end)
{
- wxASSERT_MSG( *start == '<', _T("should be called on the tag start") );
+ wxASSERT_MSG( *start == '<', wxT("should be called on the tag start") );
wxString::const_iterator p = start;