a lot of small cleanups based on Linus' sparse check output. Daniel
* HTMLparser.c SAX2.c encoding.c globals.c parser.c relaxng.c
runsuite.c runtest.c schematron.c testHTML.c testReader.c
testRegexp.c testSAX.c testThreads.c valid.c xinclude.c xmlIO.c
xmllint.c xmlmodule.c xmlschemas.c xpath.c xpointer.c: a lot of
small cleanups based on Linus' sparse check output.
Daniel
diff --git a/xpath.c b/xpath.c
index f6e9826..f0cb291 100644
--- a/xpath.c
+++ b/xpath.c
@@ -89,7 +89,7 @@
double xmlXPathNAN = 0;
double xmlXPathPINF = 1;
double xmlXPathNINF = -1;
-double xmlXPathNZERO = 0;
+static double xmlXPathNZERO = 0; /* not exported from headers */
static int xmlXPathInitialized = 0;
/**
@@ -189,6 +189,15 @@
* *
************************************************************************/
+/**
+ * XP_ERRORNULL:
+ * @X: the error code
+ *
+ * Macro to raise an XPath error and return NULL.
+ */
+#define XP_ERRORNULL(X) \
+ { xmlXPathErr(ctxt, X); return(NULL); }
+
/*
* The array xmlXPathErrorMessages corresponds to the enum xmlXPathError
*/
@@ -1116,20 +1125,20 @@
*
* Returns the XPath object just removed
*/
-extern xmlXPathObjectPtr
+xmlXPathObjectPtr
valuePop(xmlXPathParserContextPtr ctxt)
{
xmlXPathObjectPtr ret;
if ((ctxt == NULL) || (ctxt->valueNr <= 0))
- return (0);
+ return (NULL);
ctxt->valueNr--;
if (ctxt->valueNr > 0)
ctxt->value = ctxt->valueTab[ctxt->valueNr - 1];
else
ctxt->value = NULL;
ret = ctxt->valueTab[ctxt->valueNr];
- ctxt->valueTab[ctxt->valueNr] = 0;
+ ctxt->valueTab[ctxt->valueNr] = NULL;
return (ret);
}
/**
@@ -1141,7 +1150,7 @@
*
* returns the number of items on the value stack
*/
-extern int
+int
valuePush(xmlXPathParserContextPtr ctxt, xmlXPathObjectPtr value)
{
if ((ctxt == NULL) || (value == NULL)) return(-1);
@@ -7574,7 +7583,7 @@
buffer = (xmlChar *) xmlMallocAtomic(max * sizeof(xmlChar));
if (buffer == NULL) {
- XP_ERROR0(XPATH_MEMORY_ERROR);
+ XP_ERRORNULL(XPATH_MEMORY_ERROR);
}
memcpy(buffer, buf, len);
while ((IS_LETTER(c)) || (IS_DIGIT(c)) || /* test bigname.xml */
@@ -7587,7 +7596,7 @@
buffer = (xmlChar *) xmlRealloc(buffer,
max * sizeof(xmlChar));
if (buffer == NULL) {
- XP_ERROR0(XPATH_MEMORY_ERROR);
+ XP_ERRORNULL(XPATH_MEMORY_ERROR);
}
}
COPY_BUF(l,buffer,len,c);
@@ -7823,7 +7832,7 @@
while ((IS_CHAR_CH(CUR)) && (CUR != '"'))
NEXT;
if (!IS_CHAR_CH(CUR)) {
- XP_ERROR0(XPATH_UNFINISHED_LITERAL_ERROR);
+ XP_ERRORNULL(XPATH_UNFINISHED_LITERAL_ERROR);
} else {
ret = xmlStrndup(q, CUR_PTR - q);
NEXT;
@@ -7834,13 +7843,13 @@
while ((IS_CHAR_CH(CUR)) && (CUR != '\''))
NEXT;
if (!IS_CHAR_CH(CUR)) {
- XP_ERROR0(XPATH_UNFINISHED_LITERAL_ERROR);
+ XP_ERRORNULL(XPATH_UNFINISHED_LITERAL_ERROR);
} else {
ret = xmlStrndup(q, CUR_PTR - q);
NEXT;
}
} else {
- XP_ERROR0(XPATH_START_LITERAL_ERROR);
+ XP_ERRORNULL(XPATH_START_LITERAL_ERROR);
}
return(ret);
}
@@ -8650,7 +8659,7 @@
if (name == NULL)
name = xmlXPathParseNCName(ctxt);
if (name == NULL) {
- XP_ERROR0(XPATH_EXPR_ERROR);
+ XP_ERRORNULL(XPATH_EXPR_ERROR);
}
blanks = IS_BLANK_CH(CUR);
@@ -8671,7 +8680,7 @@
else {
if (name != NULL)
xmlFree(name);
- XP_ERROR0(XPATH_EXPR_ERROR);
+ XP_ERRORNULL(XPATH_EXPR_ERROR);
}
*test = NODE_TEST_TYPE;
@@ -8686,7 +8695,7 @@
name = NULL;
if (CUR != ')') {
name = xmlXPathParseLiteral(ctxt);
- CHECK_ERROR 0;
+ CHECK_ERROR NULL;
*test = NODE_TEST_PI;
SKIP_BLANKS;
}
@@ -8694,7 +8703,7 @@
if (CUR != ')') {
if (name != NULL)
xmlFree(name);
- XP_ERROR0(XPATH_UNCLOSED_ERROR);
+ XP_ERRORNULL(XPATH_UNCLOSED_ERROR);
}
NEXT;
return(name);
@@ -8732,7 +8741,7 @@
name = xmlXPathParseNCName(ctxt);
if (name == NULL) {
- XP_ERROR0(XPATH_EXPR_ERROR);
+ XP_ERRORNULL(XPATH_EXPR_ERROR);
}
}
return(name);
@@ -11390,7 +11399,7 @@
if( pctxt->error != XPATH_EXPRESSION_OK )
{
xmlXPathFreeParserContext(pctxt);
- return (0);
+ return(NULL);
}
if (*pctxt->cur != 0) {