]>
Commit | Line | Data |
---|---|---|
e19e38b2 | 1 | /* $FreeBSD: src/usr.bin/compress/doc/revision.log,v 1.5 2011/03/31 14:35:33 emaste Exp $ */ |
64d2f73f A |
2 | |
3 | /* | |
e19e38b2 | 4 | * $Header: compress.c,v 4.0 85/07/30 12:50:00 joe Release $ |
64d2f73f A |
5 | * |
6 | * Revision 4.0 85/07/30 12:50:00 joe | |
7 | * Removed ferror() calls in output routine on every output except first. | |
8 | * Prepared for release to the world. | |
9 | * | |
10 | * Revision 3.6 85/07/04 01:22:21 joe | |
11 | * Remove much wasted storage by overlaying hash table with the tables | |
12 | * used by decompress: tab_suffix[1<<BITS], stack[8000]. Updated USERMEM | |
13 | * computations. Fixed dump_tab() DEBUG routine. | |
14 | * | |
15 | * Revision 3.5 85/06/30 20:47:21 jaw | |
16 | * Change hash function to use exclusive-or. Rip out hash cache. These | |
17 | * speedups render the megamemory version defunct, for now. Make decoder | |
18 | * stack global. Parts of the RCS trunks 2.7, 2.6, and 2.1 no longer apply. | |
19 | * | |
20 | * Revision 3.4 85/06/27 12:00:00 ken | |
21 | * Get rid of all floating-point calculations by doing all compression ratio | |
22 | * calculations in fixed point. | |
23 | * | |
24 | * Revision 3.3 85/06/24 21:53:24 joe | |
25 | * Incorporate portability suggestion for M_XENIX. Got rid of text on #else | |
26 | * and #endif lines. Cleaned up #ifdefs for vax and interdata. | |
27 | * | |
28 | * Revision 3.2 85/06/06 21:53:24 jaw | |
29 | * Incorporate portability suggestions for Z8000, IBM PC/XT from mailing list. | |
30 | * Default to "quiet" output (no compression statistics). | |
31 | * | |
32 | * Revision 3.1 85/05/12 18:56:13 jaw | |
33 | * Integrate decompress() stack speedups (from early pointer mods by McKie). | |
34 | * Repair multi-file USERMEM gaffe. Unify 'force' flags to mimic semantics | |
35 | * of SVR2 'pack'. Streamline block-compress table clear logic. Increase | |
36 | * output byte count by magic number size. | |
37 | * | |
38 | * Revision 3.0 84/11/27 11:50:00 petsd!joe | |
39 | * Set HSIZE depending on BITS. Set BITS depending on USERMEM. Unrolled | |
40 | * loops in clear routines. Added "-C" flag for 2.0 compatibility. Used | |
41 | * unsigned compares on Perkin-Elmer. Fixed foreground check. | |
42 | * | |
43 | * Revision 2.7 84/11/16 19:35:39 ames!jaw | |
44 | * Cache common hash codes based on input statistics; this improves | |
45 | * performance for low-density raster images. Pass on #ifdef bundle | |
46 | * from Turkowski. | |
47 | * | |
48 | * Revision 2.6 84/11/05 19:18:21 ames!jaw | |
49 | * Vary size of hash tables to reduce time for small files. | |
50 | * Tune PDP-11 hash function. | |
51 | * | |
52 | * Revision 2.5 84/10/30 20:15:14 ames!jaw | |
53 | * Junk chaining; replace with the simpler (and, on the VAX, faster) | |
54 | * double hashing, discussed within. Make block compression standard. | |
55 | * | |
56 | * Revision 2.4 84/10/16 11:11:11 ames!jaw | |
57 | * Introduce adaptive reset for block compression, to boost the rate | |
58 | * another several percent. (See mailing list notes.) | |
59 | * | |
60 | * Revision 2.3 84/09/22 22:00:00 petsd!joe | |
61 | * Implemented "-B" block compress. Implemented REVERSE sorting of tab_next. | |
62 | * Bug fix for last bits. Changed fwrite to putchar loop everywhere. | |
63 | * | |
64 | * Revision 2.2 84/09/18 14:12:21 ames!jaw | |
65 | * Fold in news changes, small machine typedef from thomas, | |
66 | * #ifdef interdata from joe. | |
67 | * | |
68 | * Revision 2.1 84/09/10 12:34:56 ames!jaw | |
69 | * Configured fast table lookup for 32-bit machines. | |
70 | * This cuts user time in half for b <= FBITS, and is useful for news batching | |
71 | * from VAX to PDP sites. Also sped up decompress() [fwrite->putc] and | |
72 | * added signal catcher [plus beef in writeerr()] to delete effluvia. | |
73 | * | |
74 | * Revision 2.0 84/08/28 22:00:00 petsd!joe | |
75 | * Add check for foreground before prompting user. Insert maxbits into | |
76 | * compressed file. Force file being uncompressed to end with ".Z". | |
77 | * Added "-c" flag and "zcat". Prepared for release. | |
78 | * | |
79 | * Revision 1.10 84/08/24 18:28:00 turtlevax!ken | |
80 | * Will only compress regular files (no directories), added a magic number | |
81 | * header (plus an undocumented -n flag to handle old files without headers), | |
82 | * added -f flag to force overwriting of possibly existing destination file, | |
83 | * otherwise the user is prompted for a response. Will tack on a .Z to a | |
84 | * filename if it doesn't have one when decompressing. Will only replace | |
85 | * file if it was compressed. | |
86 | * | |
87 | * Revision 1.9 84/08/16 17:28:00 turtlevax!ken | |
88 | * Removed scanargs(), getopt(), added .Z extension and unlimited number of | |
89 | * filenames to compress. Flags may be clustered (-Ddvb12) or separated | |
90 | * (-D -d -v -b 12), or combination thereof. Modes and other status is | |
91 | * copied with copystat(). -O bug for 4.2 seems to have disappeared with | |
92 | * 1.8. | |
93 | * | |
94 | * Revision 1.8 84/08/09 23:15:00 joe | |
95 | * Made it compatible with vax version, installed jim's fixes/enhancements | |
96 | * | |
97 | * Revision 1.6 84/08/01 22:08:00 joe | |
98 | * Sped up algorithm significantly by sorting the compress chain. | |
99 | * | |
100 | * Revision 1.5 84/07/13 13:11:00 srd | |
101 | * Added C version of vax asm routines. Changed structure to arrays to | |
102 | * save much memory. Do unsigned compares where possible (faster on | |
103 | * Perkin-Elmer) | |
104 | * | |
105 | * Revision 1.4 84/07/05 03:11:11 thomas | |
106 | * Clean up the code a little and lint it. (Lint complains about all | |
107 | * the regs used in the asm, but I'm not going to "fix" this.) | |
108 | * | |
109 | * Revision 1.3 84/07/05 02:06:54 thomas | |
110 | * Minor fixes. | |
111 | * | |
112 | * Revision 1.2 84/07/05 00:27:27 thomas | |
113 | * Add variable bit length output. | |
114 | * | |
115 | */ | |
116 | ||
117 | static char rcs_ident[] = | |
e19e38b2 | 118 | "$Header: compress.c,v 4.0 85/07/30 12:50:00 joe Release $"; |