components/libxslt/patches/01-libxslt-Fix-direct-pattern-matching-bug.patch
author Petr Sumbera <petr.sumbera@oracle.com>
Mon, 21 Jan 2013 03:30:38 -0800
branchs11u1-sru
changeset 2471 b1f0e4a84df6
permissions -rw-r--r--
15807903 problem in LIBRARY/LIBXSLT
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2471
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     1
Taken as it's from:
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     2
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     3
http://git.gnome.org/browse/libxslt/commit/?id=2a697a5819f8b22fc7541aae82aacf8b70135a93
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     4
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     5
Removed git ignore patch part as it doesn't apply and it's not needed.
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     6
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     7
From 2a697a5819f8b22fc7541aae82aacf8b70135a93 Mon Sep 17 00:00:00 2001
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     8
From: Nick Wellnhofer <[email protected]>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
     9
Date: Mon, 08 Nov 2010 09:42:33 +0000
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    10
Subject: Fix direct pattern matching bug
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    11
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    12
and adds a test case for the problem,
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    13
also adding a .gitignore cleanup
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    14
---
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    15
diff --git a/libxslt/pattern.c b/libxslt/pattern.c
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    16
index 8ce74e3..58bd6ed 100644
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    17
--- a/libxslt/pattern.c
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    18
+++ b/libxslt/pattern.c
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    19
@@ -546,13 +546,15 @@ xsltTestCompMatchDirect(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp,
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    20
 	xmlNodePtr parent = node->parent;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    21
 	xmlDocPtr olddoc;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    22
 	xmlNodePtr oldnode;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    23
-	int oldNsNr;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    24
+	int oldNsNr, oldContextSize, oldProximityPosition;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    25
 	xmlNsPtr *oldNamespaces;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    26
 
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    27
 	oldnode = ctxt->xpathCtxt->node;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    28
 	olddoc = ctxt->xpathCtxt->doc;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    29
 	oldNsNr = ctxt->xpathCtxt->nsNr;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    30
 	oldNamespaces = ctxt->xpathCtxt->namespaces;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    31
+	oldContextSize = ctxt->xpathCtxt->contextSize;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    32
+	oldProximityPosition = ctxt->xpathCtxt->proximityPosition;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    33
 	ctxt->xpathCtxt->node = node;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    34
 	ctxt->xpathCtxt->doc = doc;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    35
 	ctxt->xpathCtxt->namespaces = nsList;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    36
@@ -562,6 +564,8 @@ xsltTestCompMatchDirect(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp,
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    37
 	ctxt->xpathCtxt->doc = olddoc;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    38
 	ctxt->xpathCtxt->namespaces = oldNamespaces;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    39
 	ctxt->xpathCtxt->nsNr = oldNsNr;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    40
+	ctxt->xpathCtxt->contextSize = oldContextSize;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    41
+	ctxt->xpathCtxt->proximityPosition = oldProximityPosition;
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    42
 	if (newlist == NULL)
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    43
 	    return(-1);
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    44
 	if (newlist->type != XPATH_NODESET) {
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    45
diff --git a/tests/docs/bug-170.xml b/tests/docs/bug-170.xml
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    46
new file mode 100644
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    47
index 0000000..08c3c4d
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    48
--- a/dev/null
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    49
+++ b/tests/docs/bug-170.xml
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    50
@@ -0,0 +1,3 @@
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    51
+<root>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    52
+    <a type="b"/>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    53
+</root>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    54
diff --git a/tests/general/Makefile.am b/tests/general/Makefile.am
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    55
index 5d5baf0..e33a6c6 100644
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    56
--- a/tests/general/Makefile.am
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    57
+++ b/tests/general/Makefile.am
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    58
@@ -177,6 +177,7 @@ EXTRA_DIST = \
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    59
     bug-167.out bug-167.xsl \
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    60
     bug-168.out bug-168.xsl \
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    61
     bug-169.out bug-169.xsl bug-169.imp \
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    62
+    bug-170.out bug-170.xsl \
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    63
     character.out character.xsl \
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    64
     character2.out character2.xsl \
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    65
     itemschoose.out itemschoose.xsl \
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    66
diff --git a/tests/general/bug-170.out b/tests/general/bug-170.out
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    67
new file mode 100644
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    68
index 0000000..e24f8d3
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    69
--- a/dev/null
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    70
+++ b/tests/general/bug-170.out
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    71
@@ -0,0 +1,4 @@
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    72
+<?xml version="1.0"?>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    73
+
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    74
+    
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    75
+
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    76
diff --git a/tests/general/bug-170.xsl b/tests/general/bug-170.xsl
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    77
new file mode 100644
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    78
index 0000000..393bc4b
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    79
--- a/dev/null
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    80
+++ b/tests/general/bug-170.xsl
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    81
@@ -0,0 +1,6 @@
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    82
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    83
+    <xsl:template match="a[@type='b']" >
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    84
+        <xsl:if test="position()"/>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    85
+    </xsl:template>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    86
+    <xsl:template match="a[@type='XX'][.]"/>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    87
+</xsl:stylesheet>
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    88
--
b1f0e4a84df6 15807903 problem in LIBRARY/LIBXSLT
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff changeset
    89
cgit v0.9.0.2