From 0f25784615b45a02ab6e41b6d1354662f3799710 Mon Sep 17 00:00:00 2001 From: tromey Date: Tue, 27 Jun 2006 20:38:10 +0000 Subject: * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@115039 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/java/lang/natString.cc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libjava/java/lang') diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc index f3f3e4d567b..1a49bf79809 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) -- cgit v1.2.3