60e9f0d726
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
32 lines
737 B
Java
32 lines
737 B
Java
/* Copyright (C) 1999, 2003 Free Software Foundation
|
|
|
|
This file is part of libgcj.
|
|
|
|
This software is copyrighted work licensed under the terms of the
|
|
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
|
details. */
|
|
|
|
package gnu.gcj.convert;
|
|
|
|
/**
|
|
* Convert Unicode to SJIS (Shift JIS, used on Japanese MS-Windows).
|
|
* @author Per Bothner <bothner@cygnus.com>
|
|
* @date April 1999.
|
|
*/
|
|
|
|
public class Output_SJIS extends UnicodeToBytes
|
|
{
|
|
public String getName() { return "SJIS"; }
|
|
|
|
public native int write (char[] inbuffer, int inpos, int inlength);
|
|
|
|
public native int write (String str, int inpos, int inlength, char[] work);
|
|
|
|
public boolean havePendingBytes()
|
|
{
|
|
return pending >= 0;
|
|
}
|
|
|
|
int pending = -1;
|
|
}
|