1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2025-07-29 11:41:22 +03:00

xpath.c: small additional enhancement for boolean compared to nodeset

This commit is contained in:
William M. Brack
2002-07-19 08:32:00 +00:00
parent 1175e9c52c
commit ef61d20850
2 changed files with 10 additions and 7 deletions

View File

@ -1,3 +1,8 @@
Fri Jul 19 16:35:00 HKT 2002 William Brack <wbrack@mmm.com.hk>
* xpath.c: small additional enhancement for booleans
compared to nodesets
Wed Jul 17 19:48:14 CEST 2002 Daniel Veillard <daniel@veillard.com> Wed Jul 17 19:48:14 CEST 2002 Daniel Veillard <daniel@veillard.com>
* HTMLtree.c: changed the order of the encoding declaration * HTMLtree.c: changed the order of the encoding declaration

12
xpath.c
View File

@ -4420,9 +4420,8 @@ xmlXPathEqualValuesCommon(xmlXPathParserContextPtr ctxt,
ret = (arg1->boolval == arg2->boolval); ret = (arg1->boolval == arg2->boolval);
break; break;
case XPATH_NUMBER: case XPATH_NUMBER:
if (arg2->floatval) ret = 1; ret = (arg1->boolval ==
else ret = 0; xmlXPathCastNumberToBoolean(arg2->floatval));
ret = (arg1->boolval == ret);
break; break;
case XPATH_STRING: case XPATH_STRING:
if ((arg2->stringval == NULL) || if ((arg2->stringval == NULL) ||
@ -4451,9 +4450,8 @@ xmlXPathEqualValuesCommon(xmlXPathParserContextPtr ctxt,
#endif #endif
break; break;
case XPATH_BOOLEAN: case XPATH_BOOLEAN:
if (arg1->floatval) ret = 1; ret = (arg2->boolval==
else ret = 0; xmlXPathCastNumberToBoolean(arg1->floatval));
ret = (arg2->boolval == ret);
break; break;
case XPATH_STRING: case XPATH_STRING:
valuePush(ctxt, arg2); valuePush(ctxt, arg2);
@ -4717,7 +4715,7 @@ xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt) {
(arg1->nodesetval->nodeNr == 0)) ret = 0; (arg1->nodesetval->nodeNr == 0)) ret = 0;
else else
ret = 1; ret = 1;
ret = (ret == arg2->boolval); ret = (ret != arg2->boolval);
break; break;
case XPATH_NUMBER: case XPATH_NUMBER:
ret = xmlXPathEqualNodeSetFloat(ctxt, arg1, arg2->floatval, 1); ret = xmlXPathEqualNodeSetFloat(ctxt, arg1, arg2->floatval, 1);