diff options
author | Tom Tromey <tromey@redhat.com> | 2006-06-27 20:38:10 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2006-06-27 20:38:10 +0000 |
commit | 9e01bff779fdaf1fb6621fe30f679d6aca0029ec (patch) | |
tree | 4559b8284607c63eae3517638fbdf14bec92fafd /libjava/java/lang/natString.cc | |
parent | 80cd0e33d9bcc374f71e86eb710d05ac12ff20ab (diff) | |
download | gcc-9e01bff779fdaf1fb6621fe30f679d6aca0029ec.zip gcc-9e01bff779fdaf1fb6621fe30f679d6aca0029ec.tar.gz gcc-9e01bff779fdaf1fb6621fe30f679d6aca0029ec.tar.bz2 |
OutputStreamWriter.java (writeChars): Use a 'do' loop.
* java/io/OutputStreamWriter.java (writeChars): Use a 'do' loop.
Set 'out.count' earlier.
(close): Call setFinished on converter.
(flush): Always write work buffer.
* java/io/PrintStream.java (writeChars): Do 'do' loop.
(close): Call setFinished on converter. Write a 'flush' array.
* java/lang/natString.cc (getBytes): Call setFinished on
converter.
* gnu/gcj/convert/CharsetToBytesAdaptor.java (hasBytes): New
field.
(write): Set hasBytes. Changed 'finished' logic.
(havePendingBytes): Rewrote.
(setFinished): New method.
* gnu/gcj/convert/UnicodeToBytes.java (setFinished): New method.
* testsuite/libjava.lang/RH194522.java: New file.
* testsuite/libjava.lang/RH194522.out: New file.
From-SVN: r115039
Diffstat (limited to 'libjava/java/lang/natString.cc')
-rw-r--r-- | libjava/java/lang/natString.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc index f3f3e4d..1a49bf7 100644 --- a/libjava/java/lang/natString.cc +++ b/libjava/java/lang/natString.cc @@ -615,6 +615,8 @@ java::lang::String::getBytes (jstring enc) while (todo > 0 || converter->havePendingBytes()) { converter->setOutput(buffer, bufpos); + // We only really need to do a single write. + converter->setFinished(); int converted = converter->write(this, offset, todo, NULL); bufpos = converter->count; if (converted == 0 && bufpos == converter->count) |