summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2008-06-23 18:57:58 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2008-06-23 18:57:58 +0000
commit7b5f1590c0b002ac59f31c5932977cb1d8d63339 (patch)
tree977f27fdfcc08d2442729ce319327d76bcf477f1 /gnu
parent93080d71d6ef0436b2cf42daeae2a0abe4610527 (diff)
downloadclasspath-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.java13
-rw-r--r--gnu/xml/transform/Stylesheet.java2
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;
}
/**