private void setupRandPartB() throws IOException { if (this.suCh2 != this.suChPrev) { this.currentState = RAND_PART_A_STATE; this.suCount = 1; setupRandPartA(); } else if (++this.suCount >= 4) { this.suZ = (char) (this.data.ll8[this.suTPos] & 0xff); this.suTPos = this.data.tt[this.suTPos]; if (this.suRNToGo == 0) { this.suRNToGo = R_NUMS[this.suRTPos] - 1; if (++this.suRTPos == 512) { this.suRTPos = 0; } } else this.suRNToGo--; this.suJ2 = 0; this.currentState = RAND_PART_C_STATE; if (this.suRNToGo == 1) this.suZ ^= 1; setupRandPartC(); } else { this.currentState = RAND_PART_A_STATE; setupRandPartA(); } }
private void setupRandPartB() throws IOException { if (this.suCh2 != this.suChPrev) { this.currentState = RAND_PART_A_STATE; this.suCount = 1; setupRandPartA(); } else if (++this.suCount >= 4) { this.suZ = (char) (this.data.ll8[this.suTPos] & 0xff); this.suTPos = this.data.tt[this.suTPos]; if (this.suRNToGo == 0) { this.suRNToGo = R_NUMS[this.suRTPos] - 1; if (++this.suRTPos == 512) { this.suRTPos = 0; } } else this.suRNToGo--; this.suJ2 = 0; this.currentState = RAND_PART_C_STATE; if (this.suRNToGo == 1) this.suZ ^= 1; setupRandPartC(); } else { this.currentState = RAND_PART_A_STATE; setupRandPartA(); } }
private void setupRandPartC() throws IOException { if (this.suJ2 < this.suZ) { this.currentChar = this.suCh2; this.crc.updateCRC(this.suCh2); this.suJ2++; } else { this.currentState = RAND_PART_A_STATE; this.suI2++; this.suCount = 0; setupRandPartA(); } }
private void setupRandPartC() throws IOException { if (this.suJ2 < this.suZ) { this.currentChar = this.suCh2; this.crc.updateCRC(this.suCh2); this.suJ2++; } else { this.currentState = RAND_PART_A_STATE; this.suI2++; this.suCount = 0; setupRandPartA(); } }
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(); }