summaryrefslogtreecommitdiff
path: root/debugXML.c
diff options
context:
space:
mode:
authorAron Xu <aron@debian.org>2014-10-26 07:02:25 +0800
committerAron Xu <aron@debian.org>2014-10-26 07:02:25 +0800
commit3871a83a5f0aebd8c00879eab14fe901c93dbfcf (patch)
treeb022967f880b7fb1e56c8cc4c3f200d6ffbc9efd /debugXML.c
parent7042e17490515a990a45aa7237d11bc49ab0eaf0 (diff)
downloadlibxml2-3871a83a5f0aebd8c00879eab14fe901c93dbfcf.tar.gz
Imported Upstream version 2.9.2+dfsg1
Diffstat (limited to 'debugXML.c')
-rw-r--r--debugXML.c40
1 files changed, 23 insertions, 17 deletions
diff --git a/debugXML.c b/debugXML.c
index 3e9ec7a..b05fdff 100644
--- a/debugXML.c
+++ b/debugXML.c
@@ -85,7 +85,7 @@ xmlCtxtDumpCleanCtxt(xmlDebugCtxtPtr ctxt ATTRIBUTE_UNUSED)
*
* Check that a given namespace is in scope on a node.
*
- * Returns 1 if in scope, -1 in case of argument error,
+ * Returns 1 if in scope, -1 in case of argument error,
* -2 if the namespace is not in scope, and -3 if not on
* an ancestor node.
*/
@@ -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) ||
@@ -311,7 +313,7 @@ xmlCtxtGenericNodeCheck(xmlDebugCtxtPtr ctxt, xmlNodePtr node) {
(node != (xmlNodePtr) node->parent->properties))
xmlDebugErr(ctxt, XML_CHECK_NO_PREV,
"Attr has no prev and not first of attr list\n");
-
+
} else if ((node->parent != NULL) && (node->parent->children != node))
xmlDebugErr(ctxt, XML_CHECK_NO_PREV,
"Node has no prev and not first of parent list\n");
@@ -354,7 +356,6 @@ xmlCtxtGenericNodeCheck(xmlDebugCtxtPtr ctxt, xmlNodePtr node) {
(node->type != XML_ELEMENT_DECL) &&
(node->type != XML_ATTRIBUTE_DECL) &&
(node->type != XML_DTD_NODE) &&
- (node->type != XML_ELEMENT_DECL) &&
(node->type != XML_HTML_DOCUMENT_NODE) &&
(node->type != XML_DOCUMENT_NODE)) {
if (node->content != NULL)
@@ -1068,7 +1069,7 @@ xmlCtxtDumpNode(xmlDebugCtxtPtr ctxt, xmlNodePtr node)
return;
}
xmlCtxtDumpOneNode(ctxt, node);
- if ((node->type != XML_NAMESPACE_DECL) &&
+ if ((node->type != XML_NAMESPACE_DECL) &&
(node->children != NULL) && (node->type != XML_ENTITY_REF_NODE)) {
ctxt->depth++;
xmlCtxtDumpNodeList(ctxt, node->children);
@@ -1603,7 +1604,7 @@ int
xmlLsCountNode(xmlNodePtr node) {
int ret = 0;
xmlNodePtr list = NULL;
-
+
if (node == NULL)
return(0);
@@ -1644,7 +1645,7 @@ xmlLsCountNode(xmlNodePtr node) {
ret = 1;
break;
}
- for (;list != NULL;ret++)
+ for (;list != NULL;ret++)
list = list->next;
return(ret);
}
@@ -1712,11 +1713,11 @@ xmlLsOneNode(FILE *output, xmlNodePtr node) {
if (node->type != XML_NAMESPACE_DECL) {
if (node->properties != NULL)
fprintf(output, "a");
- else
+ else
fprintf(output, "-");
- if (node->nsDef != NULL)
+ if (node->nsDef != NULL)
fprintf(output, "n");
- else
+ else
fprintf(output, "-");
}
@@ -1786,7 +1787,7 @@ xmlLsOneNode(FILE *output, xmlNodePtr node) {
* xmlBoolToText:
* @boolval: a bool to turn into text
*
- * Convenient way to turn bool into text
+ * Convenient way to turn bool into text
*
* Returns a pointer to either "True" or "False"
*/
@@ -1802,7 +1803,7 @@ xmlBoolToText(int boolval)
#ifdef LIBXML_XPATH_ENABLED
/****************************************************************
* *
- * The XML shell related functions *
+ * The XML shell related functions *
* *
****************************************************************/
@@ -2053,7 +2054,7 @@ xmlShellBase(xmlShellCtxtPtr ctxt,
if (node == NULL) {
fprintf(ctxt->output, "NULL\n");
return (0);
- }
+ }
base = xmlNodeGetBase(node->doc, node);
@@ -2280,7 +2281,7 @@ xmlShellDir(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED,
if (node == NULL) {
fprintf(ctxt->output, "NULL\n");
return (0);
- }
+ }
if ((node->type == XML_DOCUMENT_NODE) ||
(node->type == XML_HTML_DOCUMENT_NODE)) {
xmlDebugDumpDocumentHead(ctxt->output, (xmlDocPtr) node);
@@ -2415,7 +2416,7 @@ xmlShellCat(xmlShellCtxtPtr ctxt, char *arg ATTRIBUTE_UNUSED,
if (node == NULL) {
fprintf(ctxt->output, "NULL\n");
return (0);
- }
+ }
if (ctxt->doc->type == XML_HTML_DOCUMENT_NODE) {
#ifdef LIBXML_HTML_ENABLED
if (node->type == XML_HTML_DOCUMENT_NODE)
@@ -2753,7 +2754,7 @@ xmlShellDu(xmlShellCtxtPtr ctxt,
* xmlShellPwd:
* @ctxt: the shell context
* @buffer: the output buffer
- * @node: a node
+ * @node: a node
* @node2: unused
*
* Implements the XML shell function "pwd"
@@ -2798,7 +2799,7 @@ xmlShellPwd(xmlShellCtxtPtr ctxt ATTRIBUTE_UNUSED, char *buffer,
* @input: the line reading function
* @output: the output FILE*, defaults to stdout if NULL
*
- * Implements the XML shell
+ * Implements the XML shell
* This allow to load, validate, view, modify and save a document
* using a environment similar to a UNIX commandline.
*/
@@ -2947,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
@@ -3242,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;