summaryrefslogtreecommitdiffstats
path: root/third_party/libxslt
diff options
context:
space:
mode:
authorcevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-31 00:35:45 +0000
committercevans@chromium.org <cevans@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-31 00:35:45 +0000
commit2de493f4a1d48952e09230a0c32ccbd45db973b2 (patch)
tree203ca5c730649b8926b4202968a701ead95a3077 /third_party/libxslt
parent8c98ad1cd5bf430ed2beb606316ee236d45dc389 (diff)
downloadchromium_src-2de493f4a1d48952e09230a0c32ccbd45db973b2.zip
chromium_src-2de493f4a1d48952e09230a0c32ccbd45db973b2.tar.gz
chromium_src-2de493f4a1d48952e09230a0c32ccbd45db973b2.tar.bz2
Fix dictionary string usage.
BUG=144799 Review URL: https://chromiumcodereview.appspot.com/10919019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154331 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/libxslt')
-rw-r--r--third_party/libxslt/README.chromium1
-rw-r--r--third_party/libxslt/libxslt/templates.c7
2 files changed, 6 insertions, 2 deletions
diff --git a/third_party/libxslt/README.chromium b/third_party/libxslt/README.chromium
index 41df61a..ca124e8 100644
--- a/third_party/libxslt/README.chromium
+++ b/third_party/libxslt/README.chromium
@@ -44,6 +44,7 @@ Current version: 1.1.26, plus the following patches:
- A fix to get more compact generated IDs (http://git.gnome.org/browse/libxslt/commit/?id=ecb6bcb8d1b7e44842edde3929f412d46b40c89f)
- Import pattern parsing fix for commit: http://git.gnome.org/browse/libxslt/commit/?id=fe5a4fa33eb85bce3253ed3742b1ea6c4b59b41b
- A fix for XSLT node checking (from upstream, commit pending).
+- A fix for dictionary string usage.
5) Converted to utf-8 with: vim +"argdo write ++enc=utf-8" *.c
diff --git a/third_party/libxslt/libxslt/templates.c b/third_party/libxslt/libxslt/templates.c
index c6250dc..41f1157 100644
--- a/third_party/libxslt/libxslt/templates.c
+++ b/third_party/libxslt/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"
@@ -572,7 +573,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);
@@ -757,7 +759,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 {