X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f80ea77b4a8bac4ab005bfc592f9cd3262ffa397..0966aee3d9eac832fe7dcf66db2eb06e76c51da5:/contrib/utils/convertrc/rc2xml.cpp diff --git a/contrib/utils/convertrc/rc2xml.cpp b/contrib/utils/convertrc/rc2xml.cpp index ca5adde3c4..9f4246b19a 100644 --- a/contrib/utils/convertrc/rc2xml.cpp +++ b/contrib/utils/convertrc/rc2xml.cpp @@ -438,17 +438,35 @@ wxString rc2xml::GetQuoteField() wxString phrase; //ASCII code 34 " int ch=0; + int ch1=0; + ReadChar(ch); + // !! Changed by MS, 15th/11/04. Can now read strings such as + // """Catapult"" - blah blah", ... + while (ch!=34) ReadChar(ch); - ReadChar(ch); - while (ch!=34) + // found first '"' + while (true) { - phrase+=(char)ch; - ReadChar(ch); + ReadChar(ch); + if (ch == 34) + { + // another quote? + ReadChar(ch1); + if (ch1 != 34) + { + // real end of string.. + break; + } + + // add a single quote - fall through + } + phrase+=(char)ch; } + return phrase; } @@ -777,6 +795,9 @@ name=LookUpId(name); void rc2xml::WriteLabel(wxString label) { label.Replace(_T("&"),_T("$")); + // changes by MS, handle '<' '>' characters within a label. + label.Replace(_T("<"),_T("<")); + label.Replace(_T(">"),_T(">")); m_xmlfile.Write(_T("\t\t\t\n")); }