diff options
Diffstat (limited to 'src/common/xml.c')
-rw-r--r-- | src/common/xml.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/common/xml.c b/src/common/xml.c index 8c4cc81..36171b3 100644 --- a/src/common/xml.c +++ b/src/common/xml.c @@ -223,11 +223,24 @@ char *qck_get_node_text_value(xmlNodePtr node) result = NULL; if (node != NULL) + { if (node->children != NULL) if (node->children->content != NULL) result = strdup((char *)node->children->content); - if (result == NULL) XML_LOG(stderr, "No text value for node '%s'\n", node->name); + /** + * Si le noeud existe mais qu'il n'y pas de contenu, + * il faut marquer la différence entre deux retours NULL. + * + * On choisit donc : + * - NULL : pas de valeur trouvée car noeud non existant. + * - "" : pas de valeur trouvée, mais noeud bien présent. + */ + + if (result == NULL) + result = strdup(""); + + } return result; |