remainder--;
if (++pos == DICSIZ * 2) {
memmove(&text[0], &text[DICSIZ], DICSIZ + MAXMATCH);
- n = fread_crc(&text[DICSIZ + MAXMATCH], DICSIZ, rfp);
+ n = fread_crc(&text[DICSIZ + MAXMATCH], DICSIZ, rfp, &wp->crc);
+ wp->origsize += n;
remainder += n;
pos = DICSIZ;
if (wp->fp != stdout && opts.quiet < 1) {
allocate_memory();
init_slide();
- huf_encode_start(opts.method);
- remainder = fread_crc(&text[DICSIZ], DICSIZ + MAXMATCH, rfp);
+ huf_encode_start(wp, opts.method);
+ remainder = fread_crc(&text[DICSIZ], DICSIZ + MAXMATCH, rfp, &wp->crc);
+ wp->origsize += remainder;
if (wp->fp != stdout && opts.quiet < 1) {
putc('.', stdout);
insert_node(&match);
if (match.len > remainder)
match.len = remainder;
- while (remainder > 0 && !unpackable) {
+ while (remainder > 0 && !wp->unpackable) {
lastmatch = match;
get_next_match(wp, rfp, &match);
if (match.len > remainder)