diff --git a/ChangeLog b/ChangeLog index 3b5b7349..6729580f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Jul 6 19:56:18 CEST 2003 Daniel Veillard + + * debugXML.c xpath.c: fixed 2 bugs pointed in #116448 + Sun Jul 6 19:34:17 CEST 2003 Daniel Veillard * xinclude.c: fixed bug #116095 removing the error message when diff --git a/debugXML.c b/debugXML.c index 8d2f8e71..61097115 100644 --- a/debugXML.c +++ b/debugXML.c @@ -2104,7 +2104,7 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input, while (1) { if (ctxt->node == (xmlNodePtr) ctxt->doc) snprintf(prompt, sizeof(prompt), "%s > ", "/"); - else if (ctxt->node->name) + else if ((ctxt->node != NULL) && (ctxt->node->name)) snprintf(prompt, sizeof(prompt), "%s > ", ctxt->node->name); else snprintf(prompt, sizeof(prompt), "? > "); @@ -2329,6 +2329,13 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input, if (list->nodesetval != NULL) { if (list->nodesetval->nodeNr == 1) { ctxt->node = list->nodesetval->nodeTab[0]; + if ((ctxt->node != NULL) && + (ctxt->node->type == + XML_NAMESPACE_DECL)) { + xmlGenericError(xmlGenericErrorContext, + "cannot cd to namespace\n"); + ctxt->node = NULL; + } } else xmlGenericError(xmlGenericErrorContext, "%s is a %d Node Set\n", diff --git a/xpath.c b/xpath.c index e6e3e1ee..92d68de7 100644 --- a/xpath.c +++ b/xpath.c @@ -5942,6 +5942,8 @@ xmlXPathGetElementsByIds (xmlDocPtr doc, const xmlChar *ids) { xmlAttrPtr attr; xmlNodePtr elem = NULL; + if (ids == NULL) return(NULL); + ret = xmlXPathNodeSetCreate(NULL); while (IS_BLANK(*cur)) cur++;