aboutsummaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorWarren Levy <warrenl@cygnus.com>1999-04-07 19:31:01 +0000
committerWarren Levy <warrenl@gcc.gnu.org>1999-04-07 19:31:01 +0000
commit9a566c09260a094d6d8416bd3c8c3783bcd40f5a (patch)
tree19ea92129111f6c0712036d7877c3aab2ae44b50 /libjava
parentdc4618f92207e309b188930a5160e7550a012e46 (diff)
downloadgcc-9a566c09260a094d6d8416bd3c8c3783bcd40f5a.zip
gcc-9a566c09260a094d6d8416bd3c8c3783bcd40f5a.tar.gz
gcc-9a566c09260a094d6d8416bd3c8c3783bcd40f5a.tar.bz2
natString.cc (init(jbyteArray,jint,jint,jstring)): Set count to 0 when InputStreamReader returns -1 for EOF.
* java/lang/natString.cc (init(jbyteArray,jint,jint,jstring)): Set count to 0 when InputStreamReader returns -1 for EOF. From-SVN: r26273
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/java/lang/natString.cc4
2 files changed, 9 insertions, 0 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index a624e4e..1d3bb42 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,8 @@
+1999-04-07 Warren Levy <warrenl@cygnus.com>
+
+ * java/lang/natString.cc (init(jbyteArray,jint,jint,jstring)):
+ Set count to 0 when InputStreamReader returns -1 for EOF.
+
1999-04-07 Tom Tromey <tromey@cygnus.com>
* mauve-libgcj: Omit java.text.Collator,
diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc
index 5cb7b2c..8aad9ee 100644
--- a/libjava/java/lang/natString.cc
+++ b/libjava/java/lang/natString.cc
@@ -392,6 +392,10 @@ java::lang::String::init (jbyteArray bytes, jint offset, jint count,
boffset = (char *) elements (array) - (char *) array;
// FIXME: this can throw IOException.
this->count = ir->read(array, 0, count);
+
+ // In case read() doesn't read anything, change -1 for EOF to a count of 0.
+ if (this->count < 0)
+ this->count = 0;
}
jboolean