}
void
-huf_encode_start(struct lha_method *m)
+huf_encode_start(struct lzh_ostream *wp, struct lha_method *m)
{
int i;
for (i = 0; i < np; i++)
p_freq[i] = 0;
output_pos = output_mask = 0;
- init_putbits();
+ init_putbits(wp);
}
void
else {
i = 0;
while (i < n) {
- c = bitbuf >> (BITBUFSIZ - 3);
+ c = rp->bitbuf >> (BITBUFSIZ - 3);
if (c == 7) {
mask = 1U << (BITBUFSIZ - 1 - 3);
- while (mask & bitbuf) {
+ while (mask & rp->bitbuf) {
mask >>= 1;
c++;
}
else {
i = 0;
while (i < n) {
- c = pt_table[bitbuf >> (BITBUFSIZ - 8)];
+ c = pt_table[rp->bitbuf >> (BITBUFSIZ - 8)];
if (c >= NT) {
mask = 1U << (BITBUFSIZ - 1 - 8);
do {
- if (bitbuf & mask)
+ if (rp->bitbuf & mask)
c = right[c];
else
c = left[c];
read_pt_len(rp, np, pbit, -1);
}
blocksize--;
- j = c_table[bitbuf >> (BITBUFSIZ - 12)];
+ j = c_table[rp->bitbuf >> (BITBUFSIZ - 12)];
if (j >= NC) {
mask = 1U << (BITBUFSIZ - 1 - 12);
do {
- if (bitbuf & mask)
+ if (rp->bitbuf & mask)
j = right[j];
else
j = left[j];
{
uint j, mask;
- j = pt_table[bitbuf >> (BITBUFSIZ - 8)];
+ j = pt_table[rp->bitbuf >> (BITBUFSIZ - 8)];
if (j >= np) {
mask = 1U << (BITBUFSIZ - 1 - 8);
do {
- if (bitbuf & mask)
+ if (rp->bitbuf & mask)
j = right[j];
else
j = left[j];