diff options
author | Mark Wielaard <mark@gcc.gnu.org> | 2003-06-07 18:35:00 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2003-06-07 18:35:00 +0000 |
commit | 60e9f0d726fd28b960c5674a3c7beaf7015dbd34 (patch) | |
tree | 4416490914744db9c6d980b6558414bd86715239 /libjava/gnu/gcj/convert/UnicodeToBytes.java | |
parent | ddc612a2ba3864c86a0e9c0b30811727096c1772 (diff) | |
download | gcc-60e9f0d726fd28b960c5674a3c7beaf7015dbd34.zip gcc-60e9f0d726fd28b960c5674a3c7beaf7015dbd34.tar.gz gcc-60e9f0d726fd28b960c5674a3c7beaf7015dbd34.tar.bz2 |
re PR libgcj/8738 (java.io.CharArrayWriter's write methods erroneously throw IOExceptions)
2002-06-06 James Clark <jjc@jclark.com>
Fix for PR libgcj/8738:
* gnu/gcj/convert/UnicodeToBytes.java (havePendingBytes): New method.
* gnu/gcj/convert/Output_SJIS.java (havePendingBytes): Likewise.
* gnu/gcj/convert/Output_EUCJIS.java (havePendingBytes): Likewise.
* gnu/gcj/convert/Output_UTF8.java (havePendingBytes): Likewise.
(write): Always decrease avail when count is increased.
* java/lang/natString.cc (getBytes): Check converter havePendingBytes()
and whether output buffer is full before increasing size.
2002-06-06 Mark Wielaard <mark@klomp dot org>
* java/io/PrintStream.java (writeChars(char[],int, int)):
Check converter.havePendingBytes().
(writeChars(String,int,int)): Likewise.
* java/io/OutputStreamWriter.java (writeChars(char[], int, int)):
Check converter.havePendingBytes() and flush buffer when stalled.
From-SVN: r67595
Diffstat (limited to 'libjava/gnu/gcj/convert/UnicodeToBytes.java')
-rw-r--r-- | libjava/gnu/gcj/convert/UnicodeToBytes.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/libjava/gnu/gcj/convert/UnicodeToBytes.java b/libjava/gnu/gcj/convert/UnicodeToBytes.java index 8181cb8..0785d7e 100644 --- a/libjava/gnu/gcj/convert/UnicodeToBytes.java +++ b/libjava/gnu/gcj/convert/UnicodeToBytes.java @@ -1,4 +1,4 @@ -/* Copyright (C) 1999, 2000, 2001 Free Software Foundation +/* Copyright (C) 1999, 2000, 2001, 2003 Free Software Foundation This file is part of libgcj. @@ -146,6 +146,17 @@ public abstract class UnicodeToBytes extends IOConverter return write(work, 0, srcEnd - inpos); } + /** + * Returns true when the converter has consumed some bytes that are + * not yet converted to characters because further continuation + * bytes are needed. Defaults to false, should be overridden by + * decoders that internally store some bytes. + */ + public boolean havePendingBytes() + { + return false; + } + /** Indicate that the converter is resuable. * This class keeps track of converters on a per-encoding basis. * When done with an encoder you may call this method to indicate |