diff options
Diffstat (limited to 'debugXML.c')
-rw-r--r-- | debugXML.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -254,10 +254,12 @@ xmlCtxtCheckName(xmlDebugCtxtPtr ctxt, const xmlChar * name) xmlDebugErr(ctxt, XML_CHECK_NO_NAME, "Name is NULL"); return; } +#if defined(LIBXML_TREE_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED) if (xmlValidateName(name, 0)) { xmlDebugErr3(ctxt, XML_CHECK_NOT_NCNAME, "Name is not an NCName '%s'", (const char *) name); } +#endif if ((ctxt->dict != NULL) && (!xmlDictOwns(ctxt->dict, name)) && ((ctxt->doc == NULL) || @@ -2946,7 +2948,7 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input, } else if (!strcmp(command, "save")) { xmlShellSave(ctxt, arg, NULL, NULL); } else if (!strcmp(command, "write")) { - if ((arg == NULL) || (arg[0] == 0)) + if (arg[0] == 0) xmlGenericError(xmlGenericErrorContext, "Write command requires a filename argument\n"); else @@ -3241,7 +3243,12 @@ xmlShell(xmlDocPtr doc, char *filename, xmlShellReadlineFunc input, ctxt->node = (xmlNodePtr) ctxt->doc; } else { #ifdef LIBXML_XPATH_ENABLED + int l; + ctxt->pctxt->node = ctxt->node; + l = strlen(arg); + if ((l >= 2) && (arg[l - 1] == '/')) + arg[l - 1] = 0; list = xmlXPathEval((xmlChar *) arg, ctxt->pctxt); #else list = NULL; |