diff options
Diffstat (limited to 'chromium/third_party/libxslt/libxslt/imports.c')
-rw-r--r-- | chromium/third_party/libxslt/libxslt/imports.c | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/chromium/third_party/libxslt/libxslt/imports.c b/chromium/third_party/libxslt/libxslt/imports.c index 9277b4f64fd..7262aab9541 100644 --- a/chromium/third_party/libxslt/libxslt/imports.c +++ b/chromium/third_party/libxslt/libxslt/imports.c @@ -400,17 +400,12 @@ xsltFindTemplate(xsltTransformContextPtr ctxt, const xmlChar *name, return(NULL); style = ctxt->style; while (style != NULL) { - cur = style->templates; - while (cur != NULL) { - if (xmlStrEqual(name, cur->name)) { - if (((nameURI == NULL) && (cur->nameURI == NULL)) || - ((nameURI != NULL) && (cur->nameURI != NULL) && - (xmlStrEqual(nameURI, cur->nameURI)))) { - return(cur); - } - } - cur = cur->next; - } + if (style->namedTemplates != NULL) { + cur = (xsltTemplatePtr) + xmlHashLookup2(style->namedTemplates, name, nameURI); + if (cur != NULL) + return(cur); + } style = xsltNextImport(style); } |