summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--parse.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/parse.c b/parse.c
index 43bf82d86..78d84a4f4 100644
--- a/parse.c
+++ b/parse.c
@@ -210,12 +210,9 @@ static void entry(const char *name, int size, const char *buffer)
static const char *nodename(xmlNode *node, char *buf, int len)
{
- /* Don't print out the node name if it is "text" */
- if (!strcmp(node->name, "text")) {
- node = node->parent;
- if (!node || !node->name)
- return "root";
- }
+
+ if (!node || !node->name)
+ return "root";
buf += len;
*--buf = 0;
@@ -264,6 +261,10 @@ static void visit_one_node(xmlNode *node)
if (!len)
return;
+ /* Don't print out the node name if it is "text" */
+ if (!strcmp(node->name, "text"))
+ node = node->parent;
+
name = nodename(node, buffer, sizeof(buffer));
entry(name, len, content);