1
0
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:
Daniel Veillard
2001-03-18 23:17:47 +00:00
parent 480363bdf5
commit 9e7160d45a
12 changed files with 1200 additions and 186 deletions

View File

@@ -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 */