Merge pull request #123 from Terseus/fix-113_editor-settings-xml-corruption

Fix #113 editor_settings.xml corruption
This commit is contained in:
okamstudio
2014-02-20 23:39:56 -02:00

View File

@ -97,16 +97,17 @@ ResourceInteractiveLoaderXML::Tag* ResourceInteractiveLoaderXML::parse_tag(bool
if (!complete) { if (!complete) {
String name; String name;
String value; CharString r_value;
bool reading_value=false; bool reading_value=false;
while(!f->eof_reached()) { while(!f->eof_reached()) {
CharType c=get_char(); CharType c=get_char();
if (c=='>') { if (c=='>') {
if (value.length()) { if (r_value.size()) {
tag.args[name]=value; r_value.push_back(0);
tag.args[name].parse_utf8(r_value.get_data());
} }
break; break;
@ -115,17 +116,18 @@ ResourceInteractiveLoaderXML::Tag* ResourceInteractiveLoaderXML::parse_tag(bool
if (!reading_value && name.length()) { if (!reading_value && name.length()) {
reading_value=true; reading_value=true;
} else if (reading_value && value.length()) { } else if (reading_value && r_value.size()) {
tag.args[name]=value; r_value.push_back(0);
tag.args[name].parse_utf8(r_value.get_data());
name=""; name="";
value=""; r_value.clear();
reading_value=false; reading_value=false;
} }
} else if (reading_value) { } else if (reading_value) {
value+=c; r_value.push_back(c);
} else { } else {
name+=c; name+=c;