summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-06-26 01:37:48 +0200
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2024-09-27 18:38:28 +0200
commit51f0c23ac190c83bebeace8a49cd2ecd1143fa8c (patch)
treee45ceab35b6cc419f80be6c86753b6ccd1cd22f0 /tools
parent632da15234851f3decdbb29cbeb15e1950e41a0d (diff)
downloadmana-51f0c23ac190c83bebeace8a49cd2ecd1143fa8c.tar.gz
mana-51f0c23ac190c83bebeace8a49cd2ecd1143fa8c.tar.bz2
mana-51f0c23ac190c83bebeace8a49cd2ecd1143fa8c.tar.xz
mana-51f0c23ac190c83bebeace8a49cd2ecd1143fa8c.zip
Replaced for_each_xml_child_node macro with helper class
The new XML::Children class enables using a C++11 range-based for loop to iterate over the children of an xmlNodePtr.
Diffstat (limited to 'tools')
-rw-r--r--tools/tmxcopy/map.cpp10
-rw-r--r--tools/tmxcopy/xmlutils.cpp2
-rw-r--r--tools/tmxcopy/xmlutils.h3
3 files changed, 6 insertions, 9 deletions
diff --git a/tools/tmxcopy/map.cpp b/tools/tmxcopy/map.cpp
index 3e1f9bda..b8532f93 100644
--- a/tools/tmxcopy/map.cpp
+++ b/tools/tmxcopy/map.cpp
@@ -56,7 +56,7 @@ Map::Map(std::string filename):
mWidth = XML::getProperty(rootNode, "width", 0);
mHeight = XML::getProperty(rootNode, "height", 0);
int layerNum = 0;
- for_each_xml_child_node(node, rootNode)
+ for (auto node : XML::Children(rootNode))
{
if (xmlStrEqual(node->name, BAD_CAST "tileset"))
{
@@ -66,7 +66,7 @@ Map::Map(std::string filename):
tileset->tilewidth = XML::getProperty(node, "tilewidth", 0);
tileset->tileheight = XML::getProperty(node, "tileheight", 0);
tileset->firstgid = XML::getProperty(node, "firstgid", 0);
- for_each_xml_child_node(imageNode, node)
+ for (auto imageNode : XML::Children(node))
{
if (xmlStrEqual(imageNode->name, BAD_CAST "image"))
tileset->imagefile = XML::getProperty(imageNode, "source", "");
@@ -77,7 +77,7 @@ Map::Map(std::string filename):
}
}
- for_each_xml_child_node(node, rootNode)
+ for (auto node : XML::Children(rootNode))
{
if (xmlStrEqual(node->name, BAD_CAST "layer"))
{
@@ -94,7 +94,7 @@ Map::Map(std::string filename):
throw 1;
}
- for_each_xml_child_node(dataNode, node)
+ for (auto dataNode : XML::Children(node))
{
if (!xmlStrEqual(dataNode->name, BAD_CAST "data")) continue;
@@ -532,7 +532,7 @@ int Map::save(std::string filename)
//remove old tileset and layer information in XML tree
xmlNodePtr rootNode = xmlDocGetRootElement(mXmlDoc);
std::list<xmlNodePtr> toRemove;
- for_each_xml_child_node(node, rootNode)
+ for (auto node : XML::Children(rootNode))
{
if ( xmlStrEqual(node->name, BAD_CAST "tileset")
|| xmlStrEqual(node->name, BAD_CAST "layer"))
diff --git a/tools/tmxcopy/xmlutils.cpp b/tools/tmxcopy/xmlutils.cpp
index 7bd7e7b8..04ab9d81 100644
--- a/tools/tmxcopy/xmlutils.cpp
+++ b/tools/tmxcopy/xmlutils.cpp
@@ -66,7 +66,7 @@ namespace XML
xmlNodePtr findFirstChildByName(xmlNodePtr parent, const char *name)
{
- for_each_xml_child_node(child, parent)
+ for (auto child : XML::Children(parent))
if (xmlStrEqual(child->name, BAD_CAST name))
return child;
diff --git a/tools/tmxcopy/xmlutils.h b/tools/tmxcopy/xmlutils.h
index 48b6edbf..0b77834a 100644
--- a/tools/tmxcopy/xmlutils.h
+++ b/tools/tmxcopy/xmlutils.h
@@ -55,7 +55,4 @@ namespace XML
xmlNodePtr findFirstChildByName(xmlNodePtr parent, const char *name);
}
-#define for_each_xml_child_node(var, parent) \
- for (xmlNodePtr var = parent->xmlChildrenNode; var; var = var->next)
-
#endif