diff options
Diffstat (limited to 'third_party')
-rw-r--r-- | third_party/libxslt/README.chromium | 1 | ||||
-rw-r--r-- | third_party/libxslt/libxslt/templates.c | 7 |
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 { |