mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-21 14:53:44 +03:00
Completely changed the way the XPath evaluation is done, likely to break
stuff like libxslt right now: - Makefile.am: detect XPath memleaks in regreson tests - error.c: fixed and error w.r.t. error reporting still using stderr - hash.c: added new line at end of file - tree.h: minor cleanup - xpath.[ch] xpointer.[ch]: Major changes ! Separated XPath expression parsing from evaluation, resulted in a number of changes internally, and in XPointer. Likely to break stuff using xpathInternals.h but should remain binary compatible, new interfaces will be added. Daniel
This commit is contained in:
@@ -220,6 +220,13 @@ struct _xmlXPathContext {
|
||||
void *extra; /* needed for XSLT */
|
||||
};
|
||||
|
||||
/*
|
||||
* The structure of a compiled expression form is not public
|
||||
*/
|
||||
|
||||
typedef struct _xmlXPathCompExpr xmlXPathCompExpr;
|
||||
typedef xmlXPathCompExpr *xmlXPathCompExprPtr;
|
||||
|
||||
/*
|
||||
* An XPath parser context, it contains pure parsing informations,
|
||||
* an xmlXPathContext, and the stack of objects.
|
||||
@@ -230,6 +237,8 @@ struct _xmlXPathParserContext {
|
||||
|
||||
int error; /* error code */
|
||||
|
||||
xmlXPathCompExprPtr comp; /* the precompiled expression */
|
||||
|
||||
xmlXPathContextPtr context; /* the evaluation context */
|
||||
xmlXPathObjectPtr value; /* the current value */
|
||||
int valueNr; /* number of values stacked */
|
||||
|
Reference in New Issue
Block a user