summaryrefslogtreecommitdiffstats
path: root/libjava/java/lang
diff options
context:
space:
mode:
authortromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-27 20:38:10 +0000
committertromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4>2006-06-27 20:38:10 +0000
commit0f25784615b45a02ab6e41b6d1354662f3799710 (patch)
tree4559b8284607c63eae3517638fbdf14bec92fafd /libjava/java/lang
parentad8ae01eb762963f07a25de7eb2f8240c7f4032d (diff)
downloadppe42-gcc-0f25784615b45a02ab6e41b6d1354662f3799710.tar.gz
ppe42-gcc-0f25784615b45a02ab6e41b6d1354662f3799710.zip
* 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
Diffstat (limited to 'libjava/java/lang')
-rw-r--r--libjava/java/lang/natString.cc2
1 files changed, 2 insertions, 0 deletions
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)
OpenPOWER on IntegriCloud