Fix CString::Escape_n() and add some tests for it

This bug was originally reported by someone on irc, but sadly I forgot who it
was. Sorry!

Signed-off-by: Uli Schlachter <psychon@znc.in>
This commit is contained in:
Uli Schlachter committed 2011-08-05 16:09:22 +02:00
1 parent cb6798d36f
commit da0ba75549
4 files changed
+66 -6

No files matched your search

+4 -4
View File
@@ -212,10 +212,10 @@ CString CString::Escape_n(EEscape eFrom, EEscape eTo) const {
}
if (ch == 0) {
if (!strncasecmp((const char*) &pTmp, "lt", 2)) ch = '<';
else if (!strncasecmp((const char*) &pTmp, "gt", 2)) ch = '>';
else if (!strncasecmp((const char*) &pTmp, "quot", 4)) ch = '"';
else if (!strncasecmp((const char*) &pTmp, "amp", 3)) ch = '&';
if (!strncasecmp((const char*) &pTmp, "&lt;", 2)) ch = '<';
else if (!strncasecmp((const char*) &pTmp, "&gt;", 2)) ch = '>';
else if (!strncasecmp((const char*) &pTmp, "&quot;", 4)) ch = '"';
else if (!strncasecmp((const char*) &pTmp, "&amp;", 3)) ch = '&';
}
if (ch > 0) {