Compress is the standard way (nowadays) to compress files on Unix systems.
The source was distributed on comp.sources.unix, volume2
DECOMP is modified for MS-DOS, and decompresses only.
Usage : DECOMP infile outfile
The program can be greedy for space, especially if the Unix host used 16-bit
compression (they usually do). In the worst case a 'far heap size' of
200kbytes is needed. If the memory allocation fails, the size is quoted so
you can know how short you are. With smaller files less space is used; the
allocation does not exceed three times the file size.
This version was compiled under Turbo C, small model. It uses huge pointers
to manage large arrays.
23/3/90 revised to circumvent 2 Turbo C bugs.
(a) The file size is sometimes negative on files larger than 32k.
(b) logical operations on long ints sign extend from bit 15
Thanks to Kevin B Black for spotting these.