diff options
-rw-r--r-- | src/pugixpath.cpp | 2 | ||||
-rw-r--r-- | tests/test_xpath_functions.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/pugixpath.cpp b/src/pugixpath.cpp index 70fe612..4897523 100644 --- a/src/pugixpath.cpp +++ b/src/pugixpath.cpp @@ -387,7 +387,7 @@ namespace if (is_chartype(*string, ct_space))
{
while (is_chartype(*string, ct_space)) ++string;
- if (*string) return gen_nan();
+ return *string ? gen_nan() : r;
}
if (*string != '.') return gen_nan();
diff --git a/tests/test_xpath_functions.cpp b/tests/test_xpath_functions.cpp index a0c59b8..ed2c47a 100644 --- a/tests/test_xpath_functions.cpp +++ b/tests/test_xpath_functions.cpp @@ -16,11 +16,13 @@ TEST_XML(xpath_number_number, "<node>123</node>") CHECK_XPATH_NUMBER(c, "number(' -123.')", -123);
CHECK_XPATH_NUMBER(c, "number('123.')", 123);
CHECK_XPATH_NUMBER(c, "number('.56')", 0.56);
+ CHECK_XPATH_NUMBER(c, "number('123 ')", 123);
CHECK_XPATH_NUMBER_NAN(c, "number('foobar')");
CHECK_XPATH_NUMBER_NAN(c, "number('f1')");
CHECK_XPATH_NUMBER_NAN(c, "number('1f')");
CHECK_XPATH_NUMBER_NAN(c, "number('1.f')");
CHECK_XPATH_NUMBER_NAN(c, "number('1.0f')");
+ CHECK_XPATH_NUMBER_NAN(c, "number('123 f')");
// number with 1 bool argument
CHECK_XPATH_NUMBER(c, "number(true())", 1);
|