mirror of
https://github.com/GNOME/libxml2.git
synced 2025-02-23 18:29:14 +08:00
fixing an XPath function evalutation bug pointed out by Alexey Efimov
* xpath.c: fixing an XPath function evalutation bug pointed out by Alexey Efimov where the context was lost when evaluating the function arguments Daniel
This commit is contained in:
parent
79376ba948
commit
088bf11630
@ -1,4 +1,11 @@
|
||||
Tue May 14 13:00:48 CEST 2002 Daniel Veillard <daniel@veillard.com>
|
||||
|
||||
* xpath.c: fixing an XPath function evalutation bug pointed out
|
||||
by Alexey Efimov where the context was lost when evaluating
|
||||
the function arguments
|
||||
|
||||
Mon 13 May 2002 11:37:39 PM PDT Aleksey Sanin <aleksey@aleksey.com>
|
||||
|
||||
* xpath.c include/libxml/xpathInternals.h: maked xmlXPathNodeSetAddNs()
|
||||
function public for XMLSec performance optimizations
|
||||
|
||||
|
6
xpath.c
6
xpath.c
@ -9861,11 +9861,17 @@ xmlXPathCompOpEval(xmlXPathParserContextPtr ctxt, xmlXPathStepOpPtr op)
|
||||
return (total);
|
||||
}
|
||||
case XPATH_OP_ARG:
|
||||
bakd = ctxt->context->doc;
|
||||
bak = ctxt->context->node;
|
||||
if (op->ch1 != -1)
|
||||
total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch1]);
|
||||
ctxt->context->doc = bakd;
|
||||
ctxt->context->node = bak;
|
||||
CHECK_ERROR0;
|
||||
if (op->ch2 != -1)
|
||||
total += xmlXPathCompOpEval(ctxt, &comp->steps[op->ch2]);
|
||||
ctxt->context->doc = bakd;
|
||||
ctxt->context->node = bak;
|
||||
CHECK_ERROR0;
|
||||
return (total);
|
||||
case XPATH_OP_PREDICATE:
|
||||
|
Loading…
Reference in New Issue
Block a user