diff --git a/libjava/ChangeLog b/libjava/ChangeLog index a624e4ebb6a..1d3bb42afcf 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +1999-04-07 Warren Levy + + * java/lang/natString.cc (init(jbyteArray,jint,jint,jstring)): + Set count to 0 when InputStreamReader returns -1 for EOF. + 1999-04-07 Tom Tromey * mauve-libgcj: Omit java.text.Collator, diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc index 5cb7b2c72b4..8aad9ee4b8c 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