Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(298)

Side by Side Diff: third_party/libxml/src/xpath.c

Issue 7508039: Fix libxml XPath bug. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « third_party/libxml/README.chromium ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * xpath.c: XML Path Language implementation 2 * xpath.c: XML Path Language implementation
3 * XPath is a language for addressing parts of an XML document, 3 * XPath is a language for addressing parts of an XML document,
4 * designed to be used by both XSLT and XPointer 4 * designed to be used by both XSLT and XPointer
5 *f 5 *f
6 * Reference: W3C Recommendation 16 November 1999 6 * Reference: W3C Recommendation 16 November 1999
7 * http://www.w3.org/TR/1999/REC-xpath-19991116 7 * http://www.w3.org/TR/1999/REC-xpath-19991116
8 * Public reference: 8 * Public reference:
9 * http://www.w3.org/TR/xpath 9 * http://www.w3.org/TR/xpath
10 * 10 *
(...skipping 11736 matching lines...) Expand 10 before | Expand all | Expand 10 after
11747 xmlXPathNodeSetAddUnique(contextObj->nodesetval, 11747 xmlXPathNodeSetAddUnique(contextObj->nodesetval,
11748 contextNode); 11748 contextNode);
11749 11749
11750 valuePush(ctxt, contextObj); 11750 valuePush(ctxt, contextObj);
11751 res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1); 11751 res = xmlXPathCompOpEvalToBoolean(ctxt, exprOp, 1);
11752 11752
11753 if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) { 11753 if ((ctxt->error != XPATH_EXPRESSION_OK) || (res == -1)) {
11754 xmlXPathObjectPtr tmp; 11754 xmlXPathObjectPtr tmp;
11755 /* pop the result if any */ 11755 /* pop the result if any */
11756 tmp = valuePop(ctxt); 11756 tmp = valuePop(ctxt);
11757 if (tmp != contextObj) 11757 while (tmp != contextObj) {
11758 /* 11758 /*
11759 * Free up the result 11759 * Free up the result
11760 * then pop off contextObj, which will be freed later 11760 * then pop off contextObj, which will be freed later
11761 */ 11761 */
11762 xmlXPathReleaseObject(xpctxt, tmp); 11762 xmlXPathReleaseObject(xpctxt, tmp);
11763 valuePop(ctxt); 11763 tmp = valuePop(ctxt);
11764 }
11764 goto evaluation_error; 11765 goto evaluation_error;
11765 } 11766 }
11766 11767
11767 if (res) 11768 if (res)
11768 pos++; 11769 pos++;
11769 11770
11770 if (res && (pos >= minPos) && (pos <= maxPos)) { 11771 if (res && (pos >= minPos) && (pos <= maxPos)) {
11771 /* 11772 /*
11772 * Fits in the requested range. 11773 * Fits in the requested range.
11773 */ 11774 */
(...skipping 3371 matching lines...) Expand 10 before | Expand all | Expand 10 after
15145 xmlXPathTranslateFunction); 15146 xmlXPathTranslateFunction);
15146 15147
15147 xmlXPathRegisterFuncNS(ctxt, (const xmlChar *)"escape-uri", 15148 xmlXPathRegisterFuncNS(ctxt, (const xmlChar *)"escape-uri",
15148 (const xmlChar *)"http://www.w3.org/2002/08/xquery-functions", 15149 (const xmlChar *)"http://www.w3.org/2002/08/xquery-functions",
15149 xmlXPathEscapeUriFunction); 15150 xmlXPathEscapeUriFunction);
15150 } 15151 }
15151 15152
15152 #endif /* LIBXML_XPATH_ENABLED */ 15153 #endif /* LIBXML_XPATH_ENABLED */
15153 #define bottom_xpath 15154 #define bottom_xpath
15154 #include "elfgcchack.h" 15155 #include "elfgcchack.h"
OLDNEW
« no previous file with comments | « third_party/libxml/README.chromium ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698