summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Evans <cevans@chromium.org>2012-09-03 15:50:22 +0800
committerDaniel Veillard <veillard@redhat.com>2012-09-03 15:50:22 +0800
commit54977ed7966847e305a2008cb18892df26eeb065 (patch)
tree61e5c60d1ae36e74425925f8e043b8a3d8028775
parent1eae5e8cbcad26415fe229885244316387bc15d9 (diff)
downloadlibxslt-54977ed7966847e305a2008cb18892df26eeb065.tar.gz
libxslt-54977ed7966847e305a2008cb18892df26eeb065.tar.bz2
libxslt-54977ed7966847e305a2008cb18892df26eeb065.zip
Fix a dictionary string usage
Raised in chromium, but also affecting xsltproc Also updated AUTHORS to list Chris and other contributors
-rw-r--r--AUTHORS45
-rw-r--r--libxslt/templates.c7
2 files changed, 49 insertions, 3 deletions
diff --git a/AUTHORS b/AUTHORS
index 094ebbc9..3a70a177 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -5,7 +5,7 @@ Daniel Veillard:
Used to work at W3C, now Red Hat
co-chair of W3C XML Linking WG
invited expert on the W3C XML Core WG
- Author of libxml upon which this library is based.
+ Author of libxml2 upon which this library is based.
Bjorn Reese:
breese@users.sourceforge.net
@@ -18,3 +18,46 @@ William Brack <wbrack@mmm.com.hk>
Thomas Broyer <tbroyer@ltgt.net>
Igor Zlatkovic <igor@zlatkovic.com> for the Windows port
+
+Patches gently provided by a multitude of people :
+
+Abhishek Arya <inferno@chromium.org>
+Ben Walton <bwalton@artsci.utoronto.ca>
+Bjorn Reese <breese@src.gnome.org>
+C. M. Sperberg-McQueen <cmsmcq@blackmesatech.com>
+Colin Walters <walters@verbum.org>
+Daniel Mustieles <daniel.mustieles@gmail.com>
+Daniel Richard G <oss@teragram.com>
+Darin Adler <darin@src.gnome.org>
+ÉRDI Gergo <cactus@src.gnome.org>
+Fatih Demir <kabalak@src.gnome.org>
+Federico Mena Quintero <federico@ximian.com>
+Frederic Crozat <fcrozat@mandriva.com>
+Hao Hu <ihaohu@gmail.com>
+Havoc Pennington <hp@pobox.com>
+IlyaS <astro.courier@gmail.com>
+jacob berkman <jacob@ximian.com>
+Jason Viers <bean@beanalby.net>
+Jérôme Carretero <cJ-xslt@zougloub.eu>
+Joachim Breitner <nomeata@debian.org>
+Johan Dahlin <zilch@src.gnome.org>
+John Fleck <jfleck@inkstain.net>
+Jose Maria Celorio <chema@src.gnome.org>
+Julio M. Merino Vidal <jmmv@NetBSD.org>
+Kasimier T. Buchcik <kbuchcik@src.gnome.org>
+Kjartan Maraas <kmaraas@src.gnome.org>
+Laurence Rowe <l@lrowe.co.uk>
+Malcolm Purvis <malcolm@purvis.id.au>
+Martin <gzlist@googlemail.com>
+MDT 2002 John Fleck <jfleck@inkstain.net>
+Michael Bonfils <murlock42@gmail.com>
+money_seshu Dronamraju <mcseshu@gmail.com>
+Nick Wellnhofer <wellnhofer@aevum.de>
+Nix <nix@esperi.org.uk>
+Pedro F. Giffuni <giffunip@tutopia.com>
+Peter Williams <peterw@ximian.com>
+Rob Richards <rrichard@src.gnome.org>
+Roumen Petrov <bugtrack@roumenpetrov.info>
+Stefan Kost <ensonic@users.sf.net>
+Tomasz Kłoczko <kloczek@src.gnome.org>
+Chris Evans <cevans@chromium.org>
diff --git a/libxslt/templates.c b/libxslt/templates.c
index 169afd9e..48046826 100644
--- a/libxslt/templates.c
+++ b/libxslt/templates.c
@@ -18,6 +18,7 @@
#include <libxml/globals.h>
#include <libxml/xmlerror.h>
#include <libxml/tree.h>
+#include <libxml/dict.h>
#include <libxml/xpathInternals.h>
#include <libxml/parserInternals.h>
#include "xslt.h"
@@ -586,7 +587,8 @@ xsltAttrTemplateProcess(xsltTransformContextPtr ctxt, xmlNodePtr target,
}
} else if ((ctxt->internalized) && (target != NULL) &&
(target->doc != NULL) &&
- (target->doc->dict == ctxt->dict)) {
+ (target->doc->dict == ctxt->dict) &&
+ xmlDictOwns(ctxt->dict, value)) {
text->content = (xmlChar *) value;
} else {
text->content = xmlStrdup(value);
@@ -772,7 +774,8 @@ xsltAttrListTemplateProcess(xsltTransformContextPtr ctxt,
}
} else if ((ctxt->internalized) &&
(target->doc != NULL) &&
- (target->doc->dict == ctxt->dict))
+ (target->doc->dict == ctxt->dict) &&
+ xmlDictOwns(ctxt->dict, value))
{
text->content = (xmlChar *) value;
} else {