RC parse fixes from Michael Shamgar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -438,17 +438,35 @@ wxString rc2xml::GetQuoteField()
|
|||||||
wxString phrase;
|
wxString phrase;
|
||||||
//ASCII code 34 "
|
//ASCII code 34 "
|
||||||
int ch=0;
|
int ch=0;
|
||||||
|
int ch1=0;
|
||||||
|
|
||||||
ReadChar(ch);
|
ReadChar(ch);
|
||||||
|
|
||||||
|
// !! Changed by MS, 15th/11/04. Can now read strings such as
|
||||||
|
// """Catapult"" - blah blah", ...
|
||||||
|
|
||||||
while (ch!=34)
|
while (ch!=34)
|
||||||
ReadChar(ch);
|
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;
|
return phrase;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -777,6 +795,9 @@ name=LookUpId(name);
|
|||||||
void rc2xml::WriteLabel(wxString label)
|
void rc2xml::WriteLabel(wxString label)
|
||||||
{
|
{
|
||||||
label.Replace(_T("&"),_T("$"));
|
label.Replace(_T("&"),_T("$"));
|
||||||
|
// changes by MS, handle '<' '>' characters within a label.
|
||||||
|
label.Replace("<","<");
|
||||||
|
label.Replace(">",">");
|
||||||
m_xmlfile.Write(_T("\t\t\t<label>")+label+_T("</label>\n"));
|
m_xmlfile.Write(_T("\t\t\t<label>")+label+_T("</label>\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user