From gtoal Tue Oct 22 00:58 EET 1991
>From gtoal Tue Oct 22 00:58:30 1991 remote from stack.urc.tue.nl
Received: by gem.stack.urc.tue.nl (5.57/1.53)
id AA05412; Tue, 22 Oct 91 00:58:30 +0200
Date: Tue, 22 Oct 91 00:58:30 +0200
From: gt...@stack.urc.tue.nl (Graham Toal)
Message-Id: <911021225...@gem.stack.urc.tue.nl>
To: k...@nessie.dde.dk
Subject: Bounced at dde.dk - try again with 'nessie'...
Cc: gtoal
Status: R
>From gtoal Tue Oct 22 00:10 EET 1991
>From gtoal Tue Oct 22 00:10:51 1991 remote from stack.urc.tue.nl
Received: by gem.stack.urc.tue.nl (5.57/1.53)
id AA05175; Tue, 22 Oct 91 00:10:51 +0200
Date: Tue, 22 Oct 91 00:10:51 +0200
From: gt...@stack.urc.tue.nl (Graham Toal)
Message-Id: <911021221...@gem.stack.urc.tue.nl>
To: k...@dde.dk
Subject: qstdio bugs.
Cc: gtoal
Status: R

One was in the 'word compression' stuff which you won't be using I expect;
the other only surfaced for files of a particular length.
---
fileio.c:

QFile_cache_load(q);
if ((q->filepos == q->file_length) && q->yellow_card) {
return (EOF);
}
if (lastbyte > q->file_length) {
lastbyte = q->file_length;
bytes = lastbyte - q->filepos;
/* BUGFIX: RECALCULATE: */
lastblock = (lastbyte - 1) / q->blocksize; /* Inclusive block index */
q->yellow_card = (0 == 0);
}
if (bytes == 0L) {
return (0L);
}
start = (int) (firstbyte % q->blocksize);
-------------
wordende.c:

int
Word_comp_buff(
C_DATA *inbuff,
C_DATA *outbuff,
C_DATAINDEX in_size,
C_DATAINDEX *out_size,
C_DATAINDEX max_out_size)
{
C_DATAINDEX inmax;
long last, plain, exor;
int x, y;
int i;
long *inwords;

global_bytes_output = 0;
global_max_output_size = max_out_size;

bits = 0; bits_left = BITS_IN_C; outp = outbuff;
c = 0; /* THIS VARIABLE WAS NOT INITIALISED CORRECTLY ... */

-----

int
Word_decomp_buff(
int compression_type,
C_DATA *inbuff,
C_DATA *outbuff,
C_DATAINDEX buffsize,
C_DATAINDEX *bytes_output,
C_DATAINDEX max_out_size)
{
C_DATAINDEX tot;
unsigned long last;

#ifdef Never
if (!decomp_started) {
fprintf(stderr,
"Warning: please call decomp_init() and decomp_terminate()\n");
Word_decomp_init(MAXBUFF);
}
#endif

/* CHECK THAT THESE INITIALISATIONS ARE CORRECT TOO */
tot = 0; last = 0;
inp = inbuff; bits_left = 0; c = 0; /* overloaded from compression */
outp = outbuff;
global_bytes_output = 0;
global_max_output_size = max_out_size; /* set in decomp_init */
