diff options
-rw-r--r-- | ChangeLog | 12 | ||||
-rw-r--r-- | libxslt/keys.c | 4 | ||||
-rw-r--r-- | tests/docs/Makefile.am | 1 | ||||
-rw-r--r-- | tests/docs/bug-134.xml | 5 | ||||
-rw-r--r-- | tests/general/Makefile.am | 1 | ||||
-rw-r--r-- | tests/general/bug-134.out | 2 | ||||
-rw-r--r-- | tests/general/bug-134.xsl | 12 |
7 files changed, 33 insertions, 4 deletions
@@ -1,9 +1,17 @@ +Thu Nov 20 10:59:48 CET 2003 Daniel Veillard <daniel@veillard.com> + + * libxslt/keys.c: fixed an error from #120684 patch raised in + #127450 + * tests/docs/Makefile.am tests/docs/bug-134.xml + tests/general/Makefile.am tests/docs/bug-134*: added tests + to the regression suite for bug #127450. + Thu Nov 20 00:22:14 CET 2003 Daniel Veillard <daniel@veillard.com> * libxslt/keys.c: fixed a bug in the keys selector parsing #120684 when | is in a predicate or a string. - * tests/docs/Makefile.am tests/docs/bug-132.xml - tests/general/Makefile.am tests/docs/bug-132*: added tests + * tests/docs/Makefile.am tests/docs/bug-133.xml + tests/general/Makefile.am tests/docs/bug-133*: added tests to the regression suite for bug #120684. * Makefile.am: don't package cvs temp files * doc/apibuild.py: update from libxml2 one diff --git a/libxslt/keys.c b/libxslt/keys.c index 3f5ced2f..953163c5 100644 --- a/libxslt/keys.c +++ b/libxslt/keys.c @@ -318,8 +318,8 @@ xsltAddKey(xsltStylesheetPtr style, const xmlChar *name, xsltTransformError(NULL, style, inst, "key pattern is malformed: %s", key->match); - } - end++; + } else + end++; } if (current == end) { xsltTransformError(NULL, style, inst, diff --git a/tests/docs/Makefile.am b/tests/docs/Makefile.am index ed02e581..56ee1e0e 100644 --- a/tests/docs/Makefile.am +++ b/tests/docs/Makefile.am @@ -133,6 +133,7 @@ EXTRA_DIST = \ bug-131.xml \ bug-132.xml \ bug-133.xml \ + bug-134.xml \ character.xml \ array.xml \ items.xml diff --git a/tests/docs/bug-134.xml b/tests/docs/bug-134.xml new file mode 100644 index 00000000..9d5f51f9 --- /dev/null +++ b/tests/docs/bug-134.xml @@ -0,0 +1,5 @@ +<root> + <sect><h1 /></sect> + <sect><h2 /></sect> + <sect><h3 /></sect> +</root> diff --git a/tests/general/Makefile.am b/tests/general/Makefile.am index c24faa03..9176ab54 100644 --- a/tests/general/Makefile.am +++ b/tests/general/Makefile.am @@ -139,6 +139,7 @@ EXTRA_DIST = \ bug-131.out bug-131.xsl bug-131-imp.imp \ bug-132.out bug-132.xsl \ bug-133.out bug-133.xsl \ + bug-134.out bug-134.xsl \ character.out character.xsl \ character2.out character2.xsl \ itemschoose.out itemschoose.xsl \ diff --git a/tests/general/bug-134.out b/tests/general/bug-134.out new file mode 100644 index 00000000..1b5625cd --- /dev/null +++ b/tests/general/bug-134.out @@ -0,0 +1,2 @@ +<?xml version="1.0"?> +<result>2</result> diff --git a/tests/general/bug-134.xsl b/tests/general/bug-134.xsl new file mode 100644 index 00000000..401700a0 --- /dev/null +++ b/tests/general/bug-134.xsl @@ -0,0 +1,12 @@ +<xsl:stylesheet version="1.0" + xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> + +<xsl:key name="test" match="node()[self::sect][h1|h2]" use="'test'" /> + +<xsl:template match="/"> + <result> + <xsl:value-of select="count(key('test','test'))" /> + </result> +</xsl:template> + +</xsl:stylesheet> |