diff options
-rw-r--r-- | libjava/ChangeLog | 5 | ||||
-rw-r--r-- | libjava/java/lang/natString.cc | 4 |
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 |