diff options
| author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-03-15 20:57:46 -0400 |
|---|---|---|
| committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-03-15 20:57:46 -0400 |
| commit | 440df3425dcc2376755d622ad6fd965eb25a25c2 (patch) | |
| tree | 97b8c75ca090998b6d56e8cb302b773871c46792 | |
| parent | eb61ec5578bf45d454d9d0c9fba523b7803a5ed9 (diff) | |
| download | therapy-440df3425dcc2376755d622ad6fd965eb25a25c2.tar.gz therapy-440df3425dcc2376755d622ad6fd965eb25a25c2.tar.bz2 therapy-440df3425dcc2376755d622ad6fd965eb25a25c2.zip | |
Fixed the empty XML bug AGAIN
| -rw-r--r-- | src/map.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
| diff --git a/src/map.cpp b/src/map.cpp index 36baab6..29f22ec 100644 --- a/src/map.cpp +++ b/src/map.cpp | |||
| @@ -43,7 +43,11 @@ Map::Map(const std::string name) | |||
| 43 | if (!xmlStrcmp(node->name, (const xmlChar*) "name")) | 43 | if (!xmlStrcmp(node->name, (const xmlChar*) "name")) |
| 44 | { | 44 | { |
| 45 | xmlChar* key = xmlNodeListGetString(doc, node->xmlChildrenNode, 1); | 45 | xmlChar* key = xmlNodeListGetString(doc, node->xmlChildrenNode, 1); |
| 46 | title = (char*) key; | 46 | if (key != 0) |
| 47 | { | ||
| 48 | title = (char*) key; | ||
| 49 | } | ||
| 50 | |||
| 47 | xmlFree(key); | 51 | xmlFree(key); |
| 48 | } else if (!xmlStrcmp(node->name, (const xmlChar*) "environment")) | 52 | } else if (!xmlStrcmp(node->name, (const xmlChar*) "environment")) |
| 49 | { | 53 | { |
| @@ -67,7 +71,11 @@ Map::Map(const std::string name) | |||
| 67 | if (!xmlStrcmp(entityDataNode->name, (const xmlChar*) "entity-type")) | 71 | if (!xmlStrcmp(entityDataNode->name, (const xmlChar*) "entity-type")) |
| 68 | { | 72 | { |
| 69 | xmlChar* key = xmlNodeListGetString(doc, entityDataNode->xmlChildrenNode, 1); | 73 | xmlChar* key = xmlNodeListGetString(doc, entityDataNode->xmlChildrenNode, 1); |
| 70 | data.name = std::string((char*) key); | 74 | if (key != 0) |
| 75 | { | ||
| 76 | data.name = (char*) key; | ||
| 77 | } | ||
| 78 | |||
| 71 | xmlFree(key); | 79 | xmlFree(key); |
| 72 | } else if (!xmlStrcmp(entityDataNode->name, (const xmlChar*) "entity-position")) | 80 | } else if (!xmlStrcmp(entityDataNode->name, (const xmlChar*) "entity-position")) |
| 73 | { | 81 | { |
| @@ -83,23 +91,21 @@ Map::Map(const std::string name) | |||
| 83 | } else if (!xmlStrcmp(node->name, (const xmlChar*) "leftmap")) | 91 | } else if (!xmlStrcmp(node->name, (const xmlChar*) "leftmap")) |
| 84 | { | 92 | { |
| 85 | xmlChar* key = xmlNodeListGetString(doc, node->xmlChildrenNode, 1); | 93 | xmlChar* key = xmlNodeListGetString(doc, node->xmlChildrenNode, 1); |
| 86 | std::string mapname = (char*) key; | 94 | if (key != 0) |
| 87 | xmlFree(key); | ||
| 88 | |||
| 89 | if (mapname.length() > 0) | ||
| 90 | { | 95 | { |
| 91 | leftMap = &Map::getNamedMap(mapname); | 96 | leftMap = &Map::getNamedMap((char*) key); |
| 92 | } | 97 | } |
| 98 | |||
| 99 | xmlFree(key); | ||
| 93 | } else if (!xmlStrcmp(node->name, (const xmlChar*) "rightmap")) | 100 | } else if (!xmlStrcmp(node->name, (const xmlChar*) "rightmap")) |
| 94 | { | 101 | { |
| 95 | xmlChar* key = xmlNodeListGetString(doc, node->xmlChildrenNode, 1); | 102 | xmlChar* key = xmlNodeListGetString(doc, node->xmlChildrenNode, 1); |
| 96 | std::string mapname = (char*) key; | 103 | if (key != 0) |
| 97 | xmlFree(key); | ||
| 98 | |||
| 99 | if (mapname.length() > 0) | ||
| 100 | { | 104 | { |
| 101 | rightMap = &Map::getNamedMap(mapname); | 105 | rightMap = &Map::getNamedMap((char*) key); |
| 102 | } | 106 | } |
| 107 | |||
| 108 | xmlFree(key); | ||
| 103 | } | 109 | } |
| 104 | } | 110 | } |
| 105 | 111 | ||
