| Index: third_party/libxml/src/include/libxml/xpath.h
|
| diff --git a/third_party/libxml/src/include/libxml/xpath.h b/third_party/libxml/src/include/libxml/xpath.h
|
| index 1a9e30eba1afb7212d602b2d3812b31f565f91e5..d96776c51833dedaef3d1bb375aa34823394434d 100644
|
| --- a/third_party/libxml/src/include/libxml/xpath.h
|
| +++ b/third_party/libxml/src/include/libxml/xpath.h
|
| @@ -33,7 +33,7 @@
|
| extern "C" {
|
| #endif
|
| #endif /* LIBXML_XPATH_ENABLED or LIBXML_SCHEMAS_ENABLED */
|
| -
|
| +
|
| #ifdef LIBXML_XPATH_ENABLED
|
|
|
| typedef struct _xmlXPathContext xmlXPathContext;
|
| @@ -68,7 +68,9 @@ typedef enum {
|
| XPATH_UNDEF_PREFIX_ERROR,
|
| XPATH_ENCODING_ERROR,
|
| XPATH_INVALID_CHAR_ERROR,
|
| - XPATH_INVALID_CTXT
|
| + XPATH_INVALID_CTXT,
|
| + XPATH_STACK_ERROR,
|
| + XPATH_FORBID_VARIABLE_ERROR
|
| } xmlXPathError;
|
|
|
| /*
|
| @@ -271,11 +273,11 @@ typedef xmlXPathFunction (*xmlXPathFuncLookupFunc) (void *ctxt,
|
| *
|
| * Expression evaluation occurs with respect to a context.
|
| * he context consists of:
|
| - * - a node (the context node)
|
| - * - a node list (the context node list)
|
| - * - a set of variable bindings
|
| - * - a function library
|
| - * - the set of namespace declarations in scope for the expression
|
| + * - a node (the context node)
|
| + * - a node list (the context node list)
|
| + * - a set of variable bindings
|
| + * - a function library
|
| + * - the set of namespace declarations in scope for the expression
|
| * Following the switch to hash tables, this need to be trimmed up at
|
| * the next binary incompatible release.
|
| * The node may be modified when the context is passed to libxml2
|
| @@ -380,6 +382,8 @@ struct _xmlXPathParserContext {
|
| xmlXPathCompExprPtr comp; /* the precompiled expression */
|
| int xptr; /* it this an XPointer expression */
|
| xmlNodePtr ancestor; /* used for walking preceding axis */
|
| +
|
| + int valueFrame; /* used to limit Pop on the stack */
|
| };
|
|
|
| /************************************************************************
|
| @@ -417,7 +421,7 @@ XMLPUBVAR double xmlXPathNINF;
|
| * @index is out of range (0 to length-1)
|
| */
|
| #define xmlXPathNodeSetItem(ns, index) \
|
| - ((((ns) != NULL) && \
|
| + ((((ns) != NULL) && \
|
| ((index) >= 0) && ((index) < (ns)->nodeNr)) ? \
|
| (ns)->nodeTab[(index)] \
|
| : NULL)
|
| @@ -433,64 +437,64 @@ XMLPUBVAR double xmlXPathNINF;
|
| (((ns) == NULL) || ((ns)->nodeNr == 0) || ((ns)->nodeTab == NULL))
|
|
|
|
|
| -XMLPUBFUN void XMLCALL
|
| +XMLPUBFUN void XMLCALL
|
| xmlXPathFreeObject (xmlXPathObjectPtr obj);
|
| -XMLPUBFUN xmlNodeSetPtr XMLCALL
|
| +XMLPUBFUN xmlNodeSetPtr XMLCALL
|
| xmlXPathNodeSetCreate (xmlNodePtr val);
|
| -XMLPUBFUN void XMLCALL
|
| +XMLPUBFUN void XMLCALL
|
| xmlXPathFreeNodeSetList (xmlXPathObjectPtr obj);
|
| -XMLPUBFUN void XMLCALL
|
| +XMLPUBFUN void XMLCALL
|
| xmlXPathFreeNodeSet (xmlNodeSetPtr obj);
|
| -XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| +XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| xmlXPathObjectCopy (xmlXPathObjectPtr val);
|
| -XMLPUBFUN int XMLCALL
|
| +XMLPUBFUN int XMLCALL
|
| xmlXPathCmpNodes (xmlNodePtr node1,
|
| xmlNodePtr node2);
|
| /**
|
| * Conversion functions to basic types.
|
| */
|
| -XMLPUBFUN int XMLCALL
|
| +XMLPUBFUN int XMLCALL
|
| xmlXPathCastNumberToBoolean (double val);
|
| -XMLPUBFUN int XMLCALL
|
| +XMLPUBFUN int XMLCALL
|
| xmlXPathCastStringToBoolean (const xmlChar * val);
|
| -XMLPUBFUN int XMLCALL
|
| +XMLPUBFUN int XMLCALL
|
| xmlXPathCastNodeSetToBoolean(xmlNodeSetPtr ns);
|
| -XMLPUBFUN int XMLCALL
|
| +XMLPUBFUN int XMLCALL
|
| xmlXPathCastToBoolean (xmlXPathObjectPtr val);
|
|
|
| -XMLPUBFUN double XMLCALL
|
| +XMLPUBFUN double XMLCALL
|
| xmlXPathCastBooleanToNumber (int val);
|
| -XMLPUBFUN double XMLCALL
|
| +XMLPUBFUN double XMLCALL
|
| xmlXPathCastStringToNumber (const xmlChar * val);
|
| -XMLPUBFUN double XMLCALL
|
| +XMLPUBFUN double XMLCALL
|
| xmlXPathCastNodeToNumber (xmlNodePtr node);
|
| -XMLPUBFUN double XMLCALL
|
| +XMLPUBFUN double XMLCALL
|
| xmlXPathCastNodeSetToNumber (xmlNodeSetPtr ns);
|
| -XMLPUBFUN double XMLCALL
|
| +XMLPUBFUN double XMLCALL
|
| xmlXPathCastToNumber (xmlXPathObjectPtr val);
|
|
|
| -XMLPUBFUN xmlChar * XMLCALL
|
| +XMLPUBFUN xmlChar * XMLCALL
|
| xmlXPathCastBooleanToString (int val);
|
| -XMLPUBFUN xmlChar * XMLCALL
|
| +XMLPUBFUN xmlChar * XMLCALL
|
| xmlXPathCastNumberToString (double val);
|
| -XMLPUBFUN xmlChar * XMLCALL
|
| +XMLPUBFUN xmlChar * XMLCALL
|
| xmlXPathCastNodeToString (xmlNodePtr node);
|
| -XMLPUBFUN xmlChar * XMLCALL
|
| +XMLPUBFUN xmlChar * XMLCALL
|
| xmlXPathCastNodeSetToString (xmlNodeSetPtr ns);
|
| -XMLPUBFUN xmlChar * XMLCALL
|
| +XMLPUBFUN xmlChar * XMLCALL
|
| xmlXPathCastToString (xmlXPathObjectPtr val);
|
|
|
| -XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| +XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| xmlXPathConvertBoolean (xmlXPathObjectPtr val);
|
| -XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| +XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| xmlXPathConvertNumber (xmlXPathObjectPtr val);
|
| -XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| +XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| xmlXPathConvertString (xmlXPathObjectPtr val);
|
|
|
| /**
|
| * Context handling.
|
| */
|
| -XMLPUBFUN xmlXPathContextPtr XMLCALL
|
| +XMLPUBFUN xmlXPathContextPtr XMLCALL
|
| xmlXPathNewContext (xmlDocPtr doc);
|
| XMLPUBFUN void XMLCALL
|
| xmlXPathFreeContext (xmlXPathContextPtr ctxt);
|
| @@ -502,36 +506,43 @@ XMLPUBFUN int XMLCALL
|
| /**
|
| * Evaluation functions.
|
| */
|
| -XMLPUBFUN long XMLCALL
|
| +XMLPUBFUN long XMLCALL
|
| xmlXPathOrderDocElems (xmlDocPtr doc);
|
| -XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| +XMLPUBFUN int XMLCALL
|
| + xmlXPathSetContextNode (xmlNodePtr node,
|
| + xmlXPathContextPtr ctx);
|
| +XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| + xmlXPathNodeEval (xmlNodePtr node,
|
| + const xmlChar *str,
|
| + xmlXPathContextPtr ctx);
|
| +XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| xmlXPathEval (const xmlChar *str,
|
| xmlXPathContextPtr ctx);
|
| -XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| +XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| xmlXPathEvalExpression (const xmlChar *str,
|
| xmlXPathContextPtr ctxt);
|
| -XMLPUBFUN int XMLCALL
|
| +XMLPUBFUN int XMLCALL
|
| xmlXPathEvalPredicate (xmlXPathContextPtr ctxt,
|
| xmlXPathObjectPtr res);
|
| /**
|
| * Separate compilation/evaluation entry points.
|
| */
|
| -XMLPUBFUN xmlXPathCompExprPtr XMLCALL
|
| +XMLPUBFUN xmlXPathCompExprPtr XMLCALL
|
| xmlXPathCompile (const xmlChar *str);
|
| -XMLPUBFUN xmlXPathCompExprPtr XMLCALL
|
| +XMLPUBFUN xmlXPathCompExprPtr XMLCALL
|
| xmlXPathCtxtCompile (xmlXPathContextPtr ctxt,
|
| - const xmlChar *str);
|
| -XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| + const xmlChar *str);
|
| +XMLPUBFUN xmlXPathObjectPtr XMLCALL
|
| xmlXPathCompiledEval (xmlXPathCompExprPtr comp,
|
| xmlXPathContextPtr ctx);
|
| -XMLPUBFUN int XMLCALL
|
| +XMLPUBFUN int XMLCALL
|
| xmlXPathCompiledEvalToBoolean(xmlXPathCompExprPtr comp,
|
| xmlXPathContextPtr ctxt);
|
| -XMLPUBFUN void XMLCALL
|
| +XMLPUBFUN void XMLCALL
|
| xmlXPathFreeCompExpr (xmlXPathCompExprPtr comp);
|
| #endif /* LIBXML_XPATH_ENABLED */
|
| #if defined(LIBXML_XPATH_ENABLED) || defined(LIBXML_SCHEMAS_ENABLED)
|
| -XMLPUBFUN void XMLCALL
|
| +XMLPUBFUN void XMLCALL
|
| xmlXPathInit (void);
|
| XMLPUBFUN int XMLCALL
|
| xmlXPathIsNaN (double val);
|
|
|