mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2024-11-16 16:09:42 +01:00
Use less STL when loading entity XML elements
The STL here cannot be completely eliminated (because the custom entity object uses std::string), but at least we can avoid unnecessarily making std::strings until the very end.
This commit is contained in:
parent
2aeb3f35ce
commit
d590463834
1 changed files with 6 additions and 6 deletions
|
@ -1783,11 +1783,11 @@ bool editorclass::load(std::string& _path)
|
|||
for( tinyxml2::XMLElement* edEntityEl = pElem->FirstChildElement(); edEntityEl; edEntityEl=edEntityEl->NextSiblingElement())
|
||||
{
|
||||
edentities entity;
|
||||
const char* text = edEntityEl->GetText();
|
||||
|
||||
std::string pKey(edEntityEl->Value());
|
||||
if (edEntityEl->GetText() != NULL)
|
||||
if (text != NULL)
|
||||
{
|
||||
std::string text(edEntityEl->GetText());
|
||||
size_t len = SDL_strlen(text);
|
||||
|
||||
// And now we come to the part where we have to deal with
|
||||
// the terrible decisions of the past.
|
||||
|
@ -1820,13 +1820,13 @@ bool editorclass::load(std::string& _path)
|
|||
// the linefeed + the extremely specific amount of
|
||||
// whitespace at the end of the contents.
|
||||
|
||||
if (endsWith(text.c_str(), "\n ")) // linefeed + exactly 12 spaces
|
||||
if (endsWith(text, "\n ")) // linefeed + exactly 12 spaces
|
||||
{
|
||||
// 12 spaces + 1 linefeed = 13 chars
|
||||
text = text.substr(0, text.length()-13);
|
||||
len -= 13;
|
||||
}
|
||||
|
||||
entity.scriptname = text;
|
||||
entity.scriptname = std::string(text, len);
|
||||
}
|
||||
edEntityEl->QueryIntAttribute("x", &entity.x);
|
||||
edEntityEl->QueryIntAttribute("y", &entity.y);
|
||||
|
|
Loading…
Reference in a new issue