1993.10.30 01:18 "Patch for Windows", by Eric Herrmann
This is for Tiff 3.3 under Windows 3.1.
The patch I earlier sent to fix LZW encoding was slightly erroneous. It assumed a 0 offset, which is not true if you use malloc() or some other non-GlobalAlloc allocation.
The following replacement code works better, and doesn't suffer from having to have windows.h included. I apologize for not submitting real diffs; I've made other changes I don't want to submit yet.
---------- Delete the following lines from near line 80
* Must do some special pointer arithmetic.
---------- Substitute the following lines near line 1040.
* 64K segment pointer arithmetic! Yuk!
* Subtracting a value from a pointer can easily become
* negative, but with a segment:offset pointer the
* offset is unsigned and thus wraps around.
* So instead we'll compute the index to the location.
if ( (h -= disp) < 0 )
h += HSIZE;
hp = &sp->enc_hashtab[h];
if ((hp -= disp) < sp->enc_hashtab)
hp += HSIZE;