diff --git a/libjava/ChangeLog b/libjava/ChangeLog index b2b035418ce6..da93b9cc8314 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,8 @@ 1999-04-21 Tom Tromey + * java/lang/natString.cc (getBytes): Reverted earlier change and + applied correct fix from Per Bothner. + * java/lang/String.java: Don't throw UnsupportedEncodingException. diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc index cbd36bb3f97f..08f1755715da 100644 --- a/libjava/java/lang/natString.cc +++ b/libjava/java/lang/natString.cc @@ -473,9 +473,11 @@ java::lang::String::getBytes (jstring enc) { converter->setOutput(buffer, bufpos); int converted = converter->write(this, offset, todo, NULL); + bufpos = converter->count; if (converted == 0) { - jbyteArray newbuffer = JvNewByteArray(2 * buflen); + buflen *= 2; + jbyteArray newbuffer = JvNewByteArray(buflen); memcpy (elements (newbuffer), elements (buffer), bufpos); buffer = newbuffer; } @@ -487,8 +489,8 @@ java::lang::String::getBytes (jstring enc) } if (bufpos == buflen) return buffer; - jbyteArray result = JvNewByteArray(buflen); - memcpy (elements (result), elements (buffer), buflen); + jbyteArray result = JvNewByteArray(bufpos); + memcpy (elements (result), elements (buffer), bufpos); return result; }