private void setupNoRandPartB() throws IOException { if (this.suCh2 != this.suChPrev) { this.suCount = 1; setupNoRandPartA(); } else if (++this.suCount >= 4) { this.suZ = (char) (this.data.ll8[this.suTPos] & 0xff); this.suTPos = this.data.tt[this.suTPos]; this.suJ2 = 0; setupNoRandPartC(); } else setupNoRandPartA(); }
private void setupNoRandPartB() throws IOException { if (this.suCh2 != this.suChPrev) { this.suCount = 1; setupNoRandPartA(); } else if (++this.suCount >= 4) { this.suZ = (char) (this.data.ll8[this.suTPos] & 0xff); this.suTPos = this.data.tt[this.suTPos]; this.suJ2 = 0; setupNoRandPartC(); } else setupNoRandPartA(); }
private void setupNoRandPartC() throws IOException { if (this.suJ2 < this.suZ) { int suCh2Shadow = this.suCh2; this.currentChar = suCh2Shadow; this.crc.updateCRC(suCh2Shadow); this.suJ2++; this.currentState = NO_RAND_PART_C_STATE; } else { this.suI2++; this.suCount = 0; setupNoRandPartA(); } }
private void setupNoRandPartC() throws IOException { if (this.suJ2 < this.suZ) { int suCh2Shadow = this.suCh2; this.currentChar = suCh2Shadow; this.crc.updateCRC(suCh2Shadow); this.suJ2++; this.currentState = NO_RAND_PART_C_STATE; } else { this.suI2++; this.suCount = 0; setupNoRandPartA(); } }
private void setupBlock() throws IOException { if (this.data == null) return; final int[] cftab = this.data.cftab; final int[] tt = this.data.initTT(this.last + 1); final byte[] ll8 = this.data.ll8; cftab[0] = 0; System.arraycopy(this.data.unzftab, 0, cftab, 1, 256); for (int i = 1, c = cftab[0]; i <= 256; i++) { c += cftab[i]; cftab[i] = c; } for (int i = 0, lastShadow = this.last; i <= lastShadow; i++) { tt[cftab[ll8[i] & 0xff]++] = i; } if ((this.origPtr < 0) || (this.origPtr >= tt.length)) { throw new IOException("stream corrupted"); } this.suTPos = tt[this.origPtr]; this.suCount = 0; this.suI2 = 0; this.suCh2 = 256; /* not a char and not EOF */ if (this.blockRandomised) { this.suRNToGo = 0; this.suRTPos = 0; setupRandPartA(); } else setupNoRandPartA(); }
private void setupBlock() throws IOException { if (this.data == null) return; final int[] cftab = this.data.cftab; final int[] tt = this.data.initTT(this.last + 1); final byte[] ll8 = this.data.ll8; cftab[0] = 0; System.arraycopy(this.data.unzftab, 0, cftab, 1, 256); for (int i = 1, c = cftab[0]; i <= 256; i++) { c += cftab[i]; cftab[i] = c; } for (int i = 0, lastShadow = this.last; i <= lastShadow; i++) { tt[cftab[ll8[i] & 0xff]++] = i; } if ((this.origPtr < 0) || (this.origPtr >= tt.length)) { throw new IOException("stream corrupted"); } this.suTPos = tt[this.origPtr]; this.suCount = 0; this.suI2 = 0; this.suCh2 = 256; /* not a char and not EOF */ if (this.blockRandomised) { this.suRNToGo = 0; this.suRTPos = 0; setupRandPartA(); } else setupNoRandPartA(); }