summaryrefslogtreecommitdiffstats
path: root/libjava/java
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-01 15:00:59 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2000-09-01 15:00:59 +0000
commitd97f1cd7330bf9dd8e74dd0d23e23c17860b8767 (patch)
tree8dd2c656446ae0cb7a7680e3be230dd18cb68fc6 /libjava/java
parented7ebdfdb994648f22724c0d163432ce2bf0862e (diff)
downloadppe42-gcc-d97f1cd7330bf9dd8e74dd0d23e23c17860b8767.tar.gz
ppe42-gcc-d97f1cd7330bf9dd8e74dd0d23e23c17860b8767.zip
2000-09-01 Andrew Haley <aph@redhat.com>
* java/io/StreamTokenizer.java: Don't throw a NumberFormatException if a field is numeric as far as the StreamTokenizer is concerned but not as far as Double.valueOf() is concerned: return a zero instead. For gcj/141. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@36100 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/io/StreamTokenizer.java24
1 files changed, 19 insertions, 5 deletions
diff --git a/libjava/java/io/StreamTokenizer.java b/libjava/java/io/StreamTokenizer.java
index 3c4d8c6cfa1..b3c80030216 100644
--- a/libjava/java/io/StreamTokenizer.java
+++ b/libjava/java/io/StreamTokenizer.java
@@ -293,16 +293,21 @@ public class StreamTokenizer
ttype = TT_EOF;
else if (isNumeric(ch))
{
+ boolean isNegative = false;
if (ch == '-')
{
// Read ahead to see if this is an ordinary '-' rather than numeric.
ch = in.read();
- if (ch != TT_EOF)
- in.unread(ch);
if (isNumeric(ch) && ch != '-')
- ch = '-';
+ {
+ isNegative = true;
+ }
else
- return (ttype = '-');
+ {
+ if (ch != TT_EOF)
+ in.unread(ch);
+ return (ttype = '-');
+ }
}
StringBuffer tokbuf = new StringBuffer();
@@ -318,7 +323,16 @@ public class StreamTokenizer
if (ch != TT_EOF)
in.unread(ch);
ttype = TT_NUMBER;
- nval = Double.valueOf(tokbuf.toString()).doubleValue();
+ try
+ {
+ nval = Double.valueOf(tokbuf.toString()).doubleValue();
+ }
+ catch (NumberFormatException _)
+ {
+ nval = 0.0;
+ }
+ if (isNegative)
+ nval = -nval;
}
else if (isAlphabetic(ch))
{
OpenPOWER on IntegriCloud