diff options
| author | Daniel Veillard <veillard@src.gnome.org> | 2001-06-29 21:31:07 +0000 |
|---|---|---|
| committer | Daniel Veillard <veillard@src.gnome.org> | 2001-06-29 21:31:07 +0000 |
| commit | 770447311ea514b8d0036cab18ed62be38e5dcea (patch) | |
| tree | e7e210400464b239d70fea2371ea476124b8dcfe /tree.c | |
| parent | 2adbb514c38dfb4a5649a928aa50900482edddb1 (diff) | |
| download | android_external_libxml2-770447311ea514b8d0036cab18ed62be38e5dcea.tar.gz android_external_libxml2-770447311ea514b8d0036cab18ed62be38e5dcea.tar.bz2 android_external_libxml2-770447311ea514b8d0036cab18ed62be38e5dcea.zip | |
xmlStrstr args are both const small cleanup reformated, fixed problems if
* include/libxml/parser.h parser.c: xmlStrstr args are both const
* xpath.c: small cleanup
* xmlGetNsList: reformated, fixed problems if used on Entities
Daniel
Diffstat (limited to 'tree.c')
| -rw-r--r-- | tree.c | 76 |
1 files changed, 42 insertions, 34 deletions
@@ -3823,7 +3823,8 @@ xmlTextMerge(xmlNodePtr first, xmlNodePtr second) { * namespace if defined */ xmlNsPtr * -xmlGetNsList(xmlDocPtr doc ATTRIBUTE_UNUSED, xmlNodePtr node) { +xmlGetNsList(xmlDocPtr doc ATTRIBUTE_UNUSED, xmlNodePtr node) +{ xmlNsPtr cur; xmlNsPtr *ret = NULL; int nbns = 0; @@ -3831,41 +3832,48 @@ xmlGetNsList(xmlDocPtr doc ATTRIBUTE_UNUSED, xmlNodePtr node) { int i; while (node != NULL) { - cur = node->nsDef; - while (cur != NULL) { - if (ret == NULL) { - ret = (xmlNsPtr *) xmlMalloc((maxns + 1) * sizeof(xmlNsPtr)); - if (ret == NULL) { - xmlGenericError(xmlGenericErrorContext, - "xmlGetNsList : out of memory!\n"); - return(NULL); - } - ret[nbns] = NULL; - } - for (i = 0;i < nbns;i++) { - if ((cur->prefix == ret[i]->prefix) || - (xmlStrEqual(cur->prefix, ret[i]->prefix))) break; - } - if (i >= nbns) { - if (nbns >= maxns) { - maxns *= 2; - ret = (xmlNsPtr *) xmlRealloc(ret, - (maxns + 1) * sizeof(xmlNsPtr)); - if (ret == NULL) { - xmlGenericError(xmlGenericErrorContext, - "xmlGetNsList : realloc failed!\n"); - return(NULL); - } - } - ret[nbns++] = cur; - ret[nbns] = NULL; - } + if (node->type == XML_ELEMENT_NODE) { + cur = node->nsDef; + while (cur != NULL) { + if (ret == NULL) { + ret = + (xmlNsPtr *) xmlMalloc((maxns + 1) * + sizeof(xmlNsPtr)); + if (ret == NULL) { + xmlGenericError(xmlGenericErrorContext, + "xmlGetNsList : out of memory!\n"); + return (NULL); + } + ret[nbns] = NULL; + } + for (i = 0; i < nbns; i++) { + if ((cur->prefix == ret[i]->prefix) || + (xmlStrEqual(cur->prefix, ret[i]->prefix))) + break; + } + if (i >= nbns) { + if (nbns >= maxns) { + maxns *= 2; + ret = (xmlNsPtr *) xmlRealloc(ret, + (maxns + + 1) * + sizeof(xmlNsPtr)); + if (ret == NULL) { + xmlGenericError(xmlGenericErrorContext, + "xmlGetNsList : realloc failed!\n"); + return (NULL); + } + } + ret[nbns++] = cur; + ret[nbns] = NULL; + } - cur = cur->next; - } - node = node->parent; + cur = cur->next; + } + } + node = node->parent; } - return(ret); + return (ret); } /** |
