From ef61d208503e41688f4bf86f6e9023c70e65829b Mon Sep 17 00:00:00 2001 From: "William M. Brack" Date: Fri, 19 Jul 2002 08:32:00 +0000 Subject: [PATCH] xpath.c: small additional enhancement for boolean compared to nodeset --- ChangeLog | 5 +++++ xpath.c | 12 +++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 62b6d2ce..fb02b276 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jul 19 16:35:00 HKT 2002 William Brack + + * xpath.c: small additional enhancement for booleans + compared to nodesets + Wed Jul 17 19:48:14 CEST 2002 Daniel Veillard * HTMLtree.c: changed the order of the encoding declaration diff --git a/xpath.c b/xpath.c index dab05459..b176ed52 100644 --- a/xpath.c +++ b/xpath.c @@ -4420,9 +4420,8 @@ xmlXPathEqualValuesCommon(xmlXPathParserContextPtr ctxt, ret = (arg1->boolval == arg2->boolval); break; case XPATH_NUMBER: - if (arg2->floatval) ret = 1; - else ret = 0; - ret = (arg1->boolval == ret); + ret = (arg1->boolval == + xmlXPathCastNumberToBoolean(arg2->floatval)); break; case XPATH_STRING: if ((arg2->stringval == NULL) || @@ -4451,9 +4450,8 @@ xmlXPathEqualValuesCommon(xmlXPathParserContextPtr ctxt, #endif break; case XPATH_BOOLEAN: - if (arg1->floatval) ret = 1; - else ret = 0; - ret = (arg2->boolval == ret); + ret = (arg2->boolval== + xmlXPathCastNumberToBoolean(arg1->floatval)); break; case XPATH_STRING: valuePush(ctxt, arg2); @@ -4717,7 +4715,7 @@ xmlXPathNotEqualValues(xmlXPathParserContextPtr ctxt) { (arg1->nodesetval->nodeNr == 0)) ret = 0; else ret = 1; - ret = (ret == arg2->boolval); + ret = (ret != arg2->boolval); break; case XPATH_NUMBER: ret = xmlXPathEqualNodeSetFloat(ctxt, arg1, arg2->floatval, 1);