The octal escaping code needs to escape the escape character
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
98cfeab393
commit
561488efd4
@ -647,6 +647,15 @@ size_t wxMBConvUTF8::MB2WC(wchar_t *buf, const char *psz, size_t n) const
|
||||
if (buf)
|
||||
*buf++ = cc;
|
||||
len++;
|
||||
|
||||
// escape the escape character for octal escapes
|
||||
if ((m_options & MAP_INVALID_UTF8_TO_OCTAL)
|
||||
&& cc == '\\' && (!buf || len < n))
|
||||
{
|
||||
if (buf)
|
||||
*buf++ = cc;
|
||||
len++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -784,6 +793,14 @@ size_t wxMBConvUTF8::WC2MB(char *buf, const wchar_t *psz, size_t n) const
|
||||
*buf++ = (char)(cc - wxUnicodePUA);
|
||||
len++;
|
||||
}
|
||||
else if ( (m_options & MAP_INVALID_UTF8_TO_OCTAL)
|
||||
&& cc == L'\\' && psz[0] == L'\\' )
|
||||
{
|
||||
if (buf)
|
||||
*buf++ = (char)cc;
|
||||
psz++;
|
||||
len++;
|
||||
}
|
||||
else if ( (m_options & MAP_INVALID_UTF8_TO_OCTAL) &&
|
||||
cc == L'\\' &&
|
||||
isoctal(psz[0]) && isoctal(psz[1]) && isoctal(psz[2]) )
|
||||
|
Loading…
Reference in New Issue
Block a user