summaryrefslogtreecommitdiffstats
path: root/chromium/third_party/libxslt/libxslt/imports.c
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/libxslt/libxslt/imports.c')
-rw-r--r--chromium/third_party/libxslt/libxslt/imports.c17
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);
}