summaryrefslogtreecommitdiff
path: root/libjava/classpath/gnu/xml/xpath/SubstringFunction.java
diff options
context:
space:
mode:
authorMark Wielaard <mark@gcc.gnu.org>2006-01-17 18:09:40 +0000
committerMark Wielaard <mark@gcc.gnu.org>2006-01-17 18:09:40 +0000
commit2127637945ea6b763966398130e0770fa993c860 (patch)
treec976ca91e3ef0bda3b34b37c0195145638d8d08e /libjava/classpath/gnu/xml/xpath/SubstringFunction.java
parentbcb36c3e02e3bd2843aad1b9888513dfb5d6e337 (diff)
Imported GNU Classpath 0.20
Imported GNU Classpath 0.20 * Makefile.am (AM_CPPFLAGS): Add classpath/include. * java/nio/charset/spi/CharsetProvider.java: New override file. * java/security/Security.java: Likewise. * sources.am: Regenerated. * Makefile.in: Likewise. From-SVN: r109831
Diffstat (limited to 'libjava/classpath/gnu/xml/xpath/SubstringFunction.java')
-rw-r--r--libjava/classpath/gnu/xml/xpath/SubstringFunction.java21
1 files changed, 5 insertions, 16 deletions
diff --git a/libjava/classpath/gnu/xml/xpath/SubstringFunction.java b/libjava/classpath/gnu/xml/xpath/SubstringFunction.java
index d65c4facb8a..e926f6c7aeb 100644
--- a/libjava/classpath/gnu/xml/xpath/SubstringFunction.java
+++ b/libjava/classpath/gnu/xml/xpath/SubstringFunction.java
@@ -78,31 +78,20 @@ final class SubstringFunction
Object val1 = arg1.evaluate(context, pos, len);
Object val2 = arg2.evaluate(context, pos, len);
String s = _string(context, val1);
- int p = (val2 instanceof Double) ?
- ((Double) val2).intValue() :
- (int) Math.round(_number(context, val2));
- p--;
+ int p = Expr.intValue(val2) - 1;
if (p < 0)
- {
- p = 0;
- }
+ p = 0;
int l = s.length() - p;
if (l <= 0)
- {
- return "";
- }
+ return "";
if (arg3 != null)
{
Object val3 = arg3.evaluate(context, pos, len);
- int v3 = (val3 instanceof Double) ?
- ((Double) val3).intValue() :
- (int) Math.round(_number(context, val3));
+ int v3 = Expr.intValue(val3);
if (v3 < l)
- {
- l = v3;
- }
+ l = v3;
}
return s.substring(p, p + l);