public abstract class CharToByteDoubleByte extends CharToByteConverter {
protected short[] index1;
protected String[] index2;
protected int badInputLength;
protected char highHalfZoneCode;
public int flush(byte[] var1, int var2, int var3) throws MalformedInputException, ConversionBufferFullException {
if (this.highHalfZoneCode != 0) {
this.highHalfZoneCode = 0;
this.badInputLength = 0;
throw new MalformedInputException();
} else {
super.byteOff = super.charOff = 0;
return 0;
}
}
public int convert(char[] var1, int var2, int var3, byte[] var4, int var5, int var6) throws MalformedInputException, UnknownCharacterException, ConversionBufferFullException {
boolean var9 = false;
int var10 = 0;
byte[] var11 = new byte[2];
super.charOff = var2;
super.byteOff = var5;
if (this.highHalfZoneCode != 0) {
char var14 = this.highHalfZoneCode;
this.highHalfZoneCode = 0;
if (var1[var2] >= '\udc00' && var1[var2] <= '\udfff') {