diff options
author | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2008-06-23 18:57:58 +0000 |
---|---|---|
committer | Andrew John Hughes <gnu_andrew@member.fsf.org> | 2008-06-23 18:57:58 +0000 |
commit | 7b5f1590c0b002ac59f31c5932977cb1d8d63339 (patch) | |
tree | 977f27fdfcc08d2442729ce319327d76bcf477f1 /gnu | |
parent | 93080d71d6ef0436b2cf42daeae2a0abe4610527 (diff) | |
download | classpath-7b5f1590c0b002ac59f31c5932977cb1d8d63339.tar.gz |
PR36220: Fix NPE in CallTemplateNode.
ChangeLog:
2008-06-23 Andrew John Hughes <gnu_andrew@member.fsf.org>
PR classpath/36220:
* gnu/xml/transform/CallTemplateNode.java:
(doApply(Stylesheet,QName,Node,int,int,Node,Node)):
Check for withParams being empty not null.
(references(QName)): Remove special-casing for null.
* gnu/xml/transform/Stylesheet.java:
(parseWithParams(Node)): Just return the list if empty,
don't return null instead.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/xml/transform/CallTemplateNode.java | 13 | ||||
-rw-r--r-- | gnu/xml/transform/Stylesheet.java | 2 |
2 files changed, 6 insertions, 9 deletions
diff --git a/gnu/xml/transform/CallTemplateNode.java b/gnu/xml/transform/CallTemplateNode.java index a85fba9d9..fe0eea74e 100644 --- a/gnu/xml/transform/CallTemplateNode.java +++ b/gnu/xml/transform/CallTemplateNode.java @@ -88,7 +88,7 @@ final class CallTemplateNode TemplateNode t = stylesheet.getTemplate(mode, name); if (t != null) { - if (withParams != null) + if (!withParams.isEmpty()) { // compute the parameter values LinkedList values = new LinkedList(); @@ -120,7 +120,7 @@ final class CallTemplateNode } t.apply(stylesheet, mode, context, pos, len, parent, nextSibling); - if (withParams != null) + if (!withParams.isEmpty()) { // pop the variable context stylesheet.bindings.pop(Bindings.WITH_PARAM); @@ -135,13 +135,10 @@ final class CallTemplateNode public boolean references(QName var) { - if (withParams != null) + for (Iterator i = withParams.iterator(); i.hasNext(); ) { - for (Iterator i = withParams.iterator(); i.hasNext(); ) - { - if (((WithParam) i.next()).references(var)) - return true; - } + if (((WithParam) i.next()).references(var)) + return true; } return super.references(var); } diff --git a/gnu/xml/transform/Stylesheet.java b/gnu/xml/transform/Stylesheet.java index 070d85cd2..7d973e424 100644 --- a/gnu/xml/transform/Stylesheet.java +++ b/gnu/xml/transform/Stylesheet.java @@ -1680,7 +1680,7 @@ class Stylesheet } node = node.getNextSibling(); } - return ret.isEmpty() ? null : ret; + return ret; } /** |