Index: third_party/libxml/src/include/libxml/xpathInternals.h |
diff --git a/third_party/libxml/src/include/libxml/xpathInternals.h b/third_party/libxml/src/include/libxml/xpathInternals.h |
index dcd524343e35c3c9811a03564ac5ae14d07a5b03..70c9db96f18c24a169b2b51ad388b7818b4abee9 100644 |
--- a/third_party/libxml/src/include/libxml/xpathInternals.h |
+++ b/third_party/libxml/src/include/libxml/xpathInternals.h |
@@ -100,16 +100,16 @@ extern "C" { |
*/ |
#define xmlXPathGetContextNode(ctxt) ((ctxt)->context->node) |
-XMLPUBFUN int XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathPopBoolean (xmlXPathParserContextPtr ctxt); |
-XMLPUBFUN double XMLCALL |
- xmlXPathPopNumber (xmlXPathParserContextPtr ctxt); |
-XMLPUBFUN xmlChar * XMLCALL |
- xmlXPathPopString (xmlXPathParserContextPtr ctxt); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
- xmlXPathPopNodeSet (xmlXPathParserContextPtr ctxt); |
-XMLPUBFUN void * XMLCALL |
- xmlXPathPopExternal (xmlXPathParserContextPtr ctxt); |
+XMLPUBFUN double XMLCALL |
+ xmlXPathPopNumber (xmlXPathParserContextPtr ctxt); |
+XMLPUBFUN xmlChar * XMLCALL |
+ xmlXPathPopString (xmlXPathParserContextPtr ctxt); |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
+ xmlXPathPopNodeSet (xmlXPathParserContextPtr ctxt); |
+XMLPUBFUN void * XMLCALL |
+ xmlXPathPopExternal (xmlXPathParserContextPtr ctxt); |
/** |
* xmlXPathReturnBoolean: |
@@ -296,7 +296,9 @@ XMLPUBFUN void * XMLCALL |
#define CHECK_ARITY(x) \ |
if (ctxt == NULL) return; \ |
if (nargs != (x)) \ |
- XP_ERROR(XPATH_INVALID_ARITY); |
+ XP_ERROR(XPATH_INVALID_ARITY); \ |
+ if (ctxt->valueNr < ctxt->valueFrame + (x)) \ |
+ XP_ERROR(XPATH_STACK_ERROR); |
/** |
* CAST_TO_STRING: |
@@ -329,7 +331,7 @@ XMLPUBFUN void * XMLCALL |
* Variable Lookup forwarding. |
*/ |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathRegisterVariableLookup (xmlXPathContextPtr ctxt, |
xmlXPathVariableLookupFunc f, |
void *data); |
@@ -338,7 +340,7 @@ XMLPUBFUN void XMLCALL |
* Function Lookup forwarding. |
*/ |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathRegisterFuncLookup (xmlXPathContextPtr ctxt, |
xmlXPathFuncLookupFunc f, |
void *funcCtxt); |
@@ -346,7 +348,7 @@ XMLPUBFUN void XMLCALL |
/* |
* Error reporting. |
*/ |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPatherror (xmlXPathParserContextPtr ctxt, |
const char *file, |
int line, |
@@ -357,11 +359,11 @@ XMLPUBFUN void XMLCALL |
int error); |
#ifdef LIBXML_DEBUG_ENABLED |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathDebugDumpObject (FILE *output, |
xmlXPathObjectPtr cur, |
int depth); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathDebugDumpCompExpr(FILE *output, |
xmlXPathCompExprPtr comp, |
int depth); |
@@ -369,48 +371,48 @@ XMLPUBFUN void XMLCALL |
/** |
* NodeSet handling. |
*/ |
-XMLPUBFUN int XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathNodeSetContains (xmlNodeSetPtr cur, |
xmlNodePtr val); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathDifference (xmlNodeSetPtr nodes1, |
xmlNodeSetPtr nodes2); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathIntersection (xmlNodeSetPtr nodes1, |
xmlNodeSetPtr nodes2); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathDistinctSorted (xmlNodeSetPtr nodes); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathDistinct (xmlNodeSetPtr nodes); |
-XMLPUBFUN int XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathHasSameNodes (xmlNodeSetPtr nodes1, |
xmlNodeSetPtr nodes2); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathNodeLeadingSorted (xmlNodeSetPtr nodes, |
xmlNodePtr node); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathLeadingSorted (xmlNodeSetPtr nodes1, |
xmlNodeSetPtr nodes2); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathNodeLeading (xmlNodeSetPtr nodes, |
xmlNodePtr node); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathLeading (xmlNodeSetPtr nodes1, |
xmlNodeSetPtr nodes2); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathNodeTrailingSorted (xmlNodeSetPtr nodes, |
xmlNodePtr node); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathTrailingSorted (xmlNodeSetPtr nodes1, |
xmlNodeSetPtr nodes2); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathNodeTrailing (xmlNodeSetPtr nodes, |
xmlNodePtr node); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
xmlXPathTrailing (xmlNodeSetPtr nodes1, |
xmlNodeSetPtr nodes2); |
@@ -419,51 +421,51 @@ XMLPUBFUN xmlNodeSetPtr XMLCALL |
* Extending a context. |
*/ |
-XMLPUBFUN int XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathRegisterNs (xmlXPathContextPtr ctxt, |
const xmlChar *prefix, |
const xmlChar *ns_uri); |
-XMLPUBFUN const xmlChar * XMLCALL |
+XMLPUBFUN const xmlChar * XMLCALL |
xmlXPathNsLookup (xmlXPathContextPtr ctxt, |
const xmlChar *prefix); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathRegisteredNsCleanup (xmlXPathContextPtr ctxt); |
-XMLPUBFUN int XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathRegisterFunc (xmlXPathContextPtr ctxt, |
const xmlChar *name, |
xmlXPathFunction f); |
-XMLPUBFUN int XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathRegisterFuncNS (xmlXPathContextPtr ctxt, |
const xmlChar *name, |
const xmlChar *ns_uri, |
xmlXPathFunction f); |
-XMLPUBFUN int XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathRegisterVariable (xmlXPathContextPtr ctxt, |
const xmlChar *name, |
xmlXPathObjectPtr value); |
-XMLPUBFUN int XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathRegisterVariableNS (xmlXPathContextPtr ctxt, |
const xmlChar *name, |
const xmlChar *ns_uri, |
xmlXPathObjectPtr value); |
-XMLPUBFUN xmlXPathFunction XMLCALL |
+XMLPUBFUN xmlXPathFunction XMLCALL |
xmlXPathFunctionLookup (xmlXPathContextPtr ctxt, |
const xmlChar *name); |
-XMLPUBFUN xmlXPathFunction XMLCALL |
+XMLPUBFUN xmlXPathFunction XMLCALL |
xmlXPathFunctionLookupNS (xmlXPathContextPtr ctxt, |
const xmlChar *name, |
const xmlChar *ns_uri); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathRegisteredFuncsCleanup (xmlXPathContextPtr ctxt); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathVariableLookup (xmlXPathContextPtr ctxt, |
const xmlChar *name); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathVariableLookupNS (xmlXPathContextPtr ctxt, |
const xmlChar *name, |
const xmlChar *ns_uri); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathRegisteredVariablesCleanup(xmlXPathContextPtr ctxt); |
/** |
@@ -471,79 +473,79 @@ XMLPUBFUN void XMLCALL |
*/ |
XMLPUBFUN xmlXPathParserContextPtr XMLCALL |
xmlXPathNewParserContext (const xmlChar *str, |
- xmlXPathContextPtr ctxt); |
-XMLPUBFUN void XMLCALL |
+ xmlXPathContextPtr ctxt); |
+XMLPUBFUN void XMLCALL |
xmlXPathFreeParserContext (xmlXPathParserContextPtr ctxt); |
/* TODO: remap to xmlXPathValuePop and Push. */ |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
valuePop (xmlXPathParserContextPtr ctxt); |
-XMLPUBFUN int XMLCALL |
+XMLPUBFUN int XMLCALL |
valuePush (xmlXPathParserContextPtr ctxt, |
- xmlXPathObjectPtr value); |
+ xmlXPathObjectPtr value); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathNewString (const xmlChar *val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathNewCString (const char *val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathWrapString (xmlChar *val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathWrapCString (char * val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathNewFloat (double val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathNewBoolean (int val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathNewNodeSet (xmlNodePtr val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathNewValueTree (xmlNodePtr val); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathNodeSetAdd (xmlNodeSetPtr cur, |
xmlNodePtr val); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN int XMLCALL |
xmlXPathNodeSetAddUnique (xmlNodeSetPtr cur, |
xmlNodePtr val); |
-XMLPUBFUN void XMLCALL |
- xmlXPathNodeSetAddNs (xmlNodeSetPtr cur, |
- xmlNodePtr node, |
+XMLPUBFUN int XMLCALL |
+ xmlXPathNodeSetAddNs (xmlNodeSetPtr cur, |
+ xmlNodePtr node, |
xmlNsPtr ns); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathNodeSetSort (xmlNodeSetPtr set); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathRoot (xmlXPathParserContextPtr ctxt); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathEvalExpr (xmlXPathParserContextPtr ctxt); |
-XMLPUBFUN xmlChar * XMLCALL |
+XMLPUBFUN xmlChar * XMLCALL |
xmlXPathParseName (xmlXPathParserContextPtr ctxt); |
-XMLPUBFUN xmlChar * XMLCALL |
+XMLPUBFUN xmlChar * XMLCALL |
xmlXPathParseNCName (xmlXPathParserContextPtr ctxt); |
/* |
* Existing functions. |
*/ |
-XMLPUBFUN double XMLCALL |
+XMLPUBFUN double XMLCALL |
xmlXPathStringEvalNumber (const xmlChar *str); |
-XMLPUBFUN int XMLCALL |
- xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt, |
+XMLPUBFUN int XMLCALL |
+ xmlXPathEvaluatePredicateResult (xmlXPathParserContextPtr ctxt, |
xmlXPathObjectPtr res); |
-XMLPUBFUN void XMLCALL |
+XMLPUBFUN void XMLCALL |
xmlXPathRegisterAllFunctions (xmlXPathContextPtr ctxt); |
-XMLPUBFUN xmlNodeSetPtr XMLCALL |
- xmlXPathNodeSetMerge (xmlNodeSetPtr val1, |
+XMLPUBFUN xmlNodeSetPtr XMLCALL |
+ xmlXPathNodeSetMerge (xmlNodeSetPtr val1, |
xmlNodeSetPtr val2); |
-XMLPUBFUN void XMLCALL |
- xmlXPathNodeSetDel (xmlNodeSetPtr cur, |
+XMLPUBFUN void XMLCALL |
+ xmlXPathNodeSetDel (xmlNodeSetPtr cur, |
xmlNodePtr val); |
-XMLPUBFUN void XMLCALL |
- xmlXPathNodeSetRemove (xmlNodeSetPtr cur, |
+XMLPUBFUN void XMLCALL |
+ xmlXPathNodeSetRemove (xmlNodeSetPtr cur, |
int val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathNewNodeSetList (xmlNodeSetPtr val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathWrapNodeSet (xmlNodeSetPtr val); |
-XMLPUBFUN xmlXPathObjectPtr XMLCALL |
+XMLPUBFUN xmlXPathObjectPtr XMLCALL |
xmlXPathWrapExternal (void *val); |
XMLPUBFUN int XMLCALL xmlXPathEqualValues(xmlXPathParserContextPtr ctxt); |
@@ -621,7 +623,7 @@ XMLPUBFUN void XMLCALL xmlXPathBooleanFunction(xmlXPathParserContextPtr ctxt, in |
* Really internal functions |
*/ |
XMLPUBFUN void XMLCALL xmlXPathNodeSetFreeNs(xmlNsPtr ns); |
- |
+ |
#ifdef __cplusplus |
} |
#endif |