* inflate.c (huft_build): Fix regression that caused gzip to
[debian/gzip] / ChangeLog
1 2006-12-20  Paul Eggert  <eggert@cs.ucla.edu>
2
3         * inflate.c (huft_build): Fix regression that caused gzip to
4         refuse to uncompress null input (all zero length codes).  Problem
5         reported by Yiorgos Adamopoulos.  This regression was caused by
6         the security patch installed 2006-11-20, which in turn came from
7         Debian, which in turn apparently came from Thomas Biege of SuSe.
8
9 2006-12-15  Paul Eggert  <eggert@cs.ucla.edu>
10
11         * NEWS, configure.ac (AC_INIT):
12         Version 1.3.9 released.
13
14         * Makefile.am (MOSTLYCLEANFILES): Add _match.i.
15         * configure.ac (for an assembler syntax supported by this package):
16         Remove _match.i.
17
18         * bootstrap (gnulib_tool_options_extras): New var.
19         (gnulib_tool_options): Use it.
20         * bootstrap.conf (gnulib_tool_options_extras): Avoid getline and
21         rpmatch.  gzip doesn't need them, since it doesn't ENABLE_NLS.
22
23 2006-12-13  Bruno Haible  <bruno@clisp.org>
24
25         * configure.ac: Use $CPPFLAGS everywhere $CPP is used, and use
26         $CPPFLAGS $CFLAGS everywhere $CC is used.
27         * lib/Makefile.am (match.$(OBJEXT)): Likewise.
28         * configure.ac: Test the exit code of the $CPP and $ASCPPPOST commands
29         separately.
30
31 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
32
33         * configure.ac (ASCPPPOST): Simplify to use just 'sed'.
34         * lib/Makefile.am (match.$(OBJEXT)): Check for CPP failure.
35
36 2006-12-11  Bruno Haible  <bruno@clisp.org>
37
38         Cross-compilation support.
39         * configure.ac (ASCPP): Remove substituted variable.
40         (ASCPPPOST, ASCPPFLAGS): New substituted variables.
41         * lib/Makefile.am (ASCPP, LN_S): Remove unnecessary macro definitions.
42         (match.$(OBJEXT)): Use CPP, ASCPPFLAGS, ASCPPPOST instead of ASCPP.
43         * configure.ac: Add test for chown function.
44         * gzip.c (treat_file) [!HAVE_CHOWN]: Don't call chown.
45         * gzip.c: Include "timespec.h".  This doesn't fix any bugs, but
46         it is clearer.
47
48 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
49
50         The SSIZE_MAX fix didn't work on NSK, so fix it in a more-reliable
51         (albeit more-complicated) way.  Problem reported by Matthew Woehlke.
52         * gzip.h (read_buffer): New decl.
53         * unlzw.c (unlzw): Use read_buffer rather than read.
54         * zip.c (file_read): Likewise.
55         * util.c (copy, fill_inbuf): Likewise.
56         (read_buffer, write_buffer): New functions.
57         (write_buf): Use write_buffer rather than write.
58
59         Undo the previous SSIZE_MAX-related change; it didn't work.
60         * gzip.c: Include <limits.h>.
61         * util.c: Likewise.
62         * gzip.h: Don't include <limits.h>.
63         (INBUFSIZ): Don't worry about SSIZE_MAX here.
64
65 2006-12-08  Paul Eggert  <eggert@cs.ucla.edu>
66
67         * NEWS, configure.ac (AC_INIT):
68         Version 1.3.8 released.
69
70         * gzexe.in (mktemp_status): New var, used to see whether
71         mktemp is a known command.  Use this instead of confounding
72         mktemp's existence with its success.
73
74         * zdiff.in: Remove first line containing ":".  This follows
75         up on the SEDCMD fix of 2006-12-01.
76         * zforce.in: Likewise.
77         * zgrep.in: Likewise.
78         * zless.in: Likewise.
79         * zmore.in: Likewise.
80         * znew.in: Likewise.
81
82         Fix problems in porting to NSK reported by Matthew Woehlke in
83         <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00025.html> and
84         <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00027.html>.
85         * gzip.h: Include <limits.h>, for SSIZE_MAX.
86         (INBUFSIZE): Don't make it any larger than SSIZE_MAX.
87         Problem reported by Matthew Woehlke in
88         <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
89         * gzip.c: Don't include <limits.h>, as gzip.h now does this.
90         * util.c: Likewise.
91         * gzip.c (main): Set exiting_signal before installing signal handlers.
92         (install_signal_handlers): Don't set exiting_signal here.  This
93         fixes a C99ism.
94         * zip.c: Include timespec.h, for time_stamp type.
95
96 2006-12-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
97
98         * gzexe.in: Work around FreeBSD shell trap bug.
99         * gzip.1: Fix typo.
100         * doc/gzip.texi: Likewise.
101
102 2006-12-08  Paul Eggert  <eggert@cs.ucla.edu>
103
104         * .cvsignore: Add .deps, gzexe, gzip, zdiff, zforce, zgrep,
105         zless, zmore, znew.
106         * doc/.cvsignore: Add Makefile.
107         * lib/.cvsignore: Add .deps, Makefile, alloca.h, config.h, fcntl.h,
108         stamp-h1, stdint.h, sys.
109
110         * configure.ac (for assembler): Set ASFLAGS_config to
111         -Wa,--noexecstack if this seems advisable on this platform.
112         Problem reported by Mike Frysinger in
113         <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00018.html>.
114         * lib/Makefile.am (match.$(OBJEXT)): Use ASFLAGS_config.
115
116 2006-12-07  Paul Eggert  <eggert@cs.ucla.edu>
117
118         * Makefile.am (install-exec-hook): Fix bug when installing
119         symbolic links as aliases.  Problem reported by Mike Frysinger.
120
121         * deflate.c (deflate_fast, deflate): Avoid core dump.  Problem
122         originally reported by Jochen Friedrich and trivial patch supplied
123         by Anthony Towns; see <http://bugs.debian.org/184057>.
124
125 2006-12-06  Paul Eggert  <eggert@cs.ucla.edu>
126
127         * NEWS, configure.ac (AC_INIT):
128         Version 1.3.7 released.
129
130 2006-12-06  Bruno Haible  <bruno@clisp.org>  (tiny change)
131         and Paul Eggert  <eggert@cs.ucla.edu>
132
133         Fix build failure on case-insensitive file systems.
134         * configure.ac: Use match_.s instead of _match.s.
135         * Makefile.am (MOSTLYCLEANFILES): Likewise.
136         * lib/Makefile.am (match.$(OBJEXT)): Likewise.
137         (MOSTLYCLEANFILES): Likewise.
138
139 2006-12-06  Paul Eggert  <eggert@cs.ucla.edu>
140
141         * NEWS: Document the fixes below.
142         * configure.ac (AC_CHECK_FUNCS_ONCE): Add siginterrupt.
143         * gzip.c (lstat) [!defined(HAVE_LSTAT) && !defined(lstat)]: Remove.
144         (SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
145         New macros.
146         (siginterrupt) [!defined SA_NOCLDSTOP && ! HAVE_SIGINTERRUPT]:
147         New macro.
148         (HAVE_WORKING_O_NOFOLLOW): Define to 0 if not defined.
149         (caught_signals, exiting_signal, remove_ofname_fd): New vars.
150         (remove_ofname): Remove; all uses changed to remove_ofname_fd.
151         (same_file, name_too_long): Remove.
152         (install_signal_handlers): New function.  It prefers sigaction,
153         which is more reliable in the presence of race conditions.
154         Catch SIGXCPU and SIGXFSZ, too.
155         (main): Use it instead of installing them by hand.
156         (treat_file): Check for read error when closing ifd.
157         (treat_file, create_outfile, remove_output_file):
158         Avoid race conditions with signals.
159         (create_outfile, check_ofname): Remove most of the gorp about
160         working around ENAMETOOLONG deficiencies.  It's obsolete now, and
161         anyway it had race conditions.  Just rely on O_EXCL and
162         ENAMETOOLONG.  The worst that can happen is that a file name will
163         be silently truncated on an obsolete machine, but no data will be lost.
164         (open_and_stat): Use HAVE_WORKING_O_NOFOLLOW rather than O_NOFOLLOW
165         to work around some O_NOFOLLOW bugs.  Otherwise, fall back on
166         lstat only if lstat is available, as symlinks don't exist otherwise.
167         (open_input_file): Use O_NONBLOCK and O_NOCTTY too, to avoid
168         hanging gzip on special files.
169         (abort_gzip_signal): If sigaction is not available, ignore
170         signals.  If we get the exiting signal, exit with ERROR status
171         rather than raising a signal.
172         * tailor.h (NO_ST_INO): Remove; no longer used now that same_file
173         is gone.
174
175 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
176
177         Port to Tandem NSK/OSS, which lacks fchdir.  Problem reported by
178         Matthew Woehlke in
179         <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
180         * bootstrap.conf (gnulib_modules): Remove openat, as it pulls in
181         fchdir.
182         * configure.ac: Check for fdopendir.
183         * gzip.c: Don't include openat.h; no longer needed.
184         (treat_dir) [!HAVE_FDOPENDIR]: Fall back on the old opendir method
185         since fdopendir is not available.
186
187 2006-12-04  Paul Eggert  <eggert@cs.ucla.edu>
188
189         * NEWS: Describe the following change briefly.
190         * bootstrap.conf (gnulib_modules): Remove stat-macros; no longer
191         needed.
192         * gzip.c: Don't include stat-macros.h; no longer needed.
193         (treat_file): Refuse to compress files that are setuid, or setgid,
194         as this can in theory lead to security holes.  Also, refuse to
195         compress files with the sticky bit set, on general principle.
196         (copy_stat): Don't copy the setuid, setgid, or sticky bits,
197         as (given the above change) they'll always be zero here.
198         Invoke chmod before chown, to close a race condition.
199
200         * .cvsignore: Add *.doc, build-aux.
201         * doc/.cvignore: New file.
202         * lib/.cvsignore: New file.
203         * m4/.cvsignore: New file.
204
205 2006-12-01  Paul Eggert  <eggert@cs.ucla.edu>
206
207         * doc/gzip.texi (Overview): Mention limits of gzip format's
208         time stamps.  Also, gzip doesn't always preserve time stamps.
209
210         * gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard",
211         since it actually causes a core dump.  Problem reported by
212         Jakub Bogusz.
213
214         * NEWS: Describe gzexe changes noted below.
215         * Makefile.am (.in): Don't bother with SEDCMD.  This stuff isn't needed
216         any more (the hosts it caters to are long extinct), and was
217         questionable anyway since the code assumes the skip= line was line 2.
218         * configure.ac (AC_SYS_INTERPRETER, SEDCMD): Remove; no longer needed.
219
220         * gzexe.in: Sweep the code and fix some bugs.
221         My, what sharp teeth you have, gzexe!
222         The straw that broke this camel's back was Matthew Burgess's bug report
223         <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00012.html>.
224
225         (IFS): Set it to the standard value, both here and in the
226         script gzexe generates.
227         Check for missing operand after parsing options, not before.
228         This fixes the case for "cpexe --".
229         Check for tail -n problem separately in gzexe and in the executable
230         it generates, in case it's a different 'tail'.
231         (trap): Remove $tmp only if $tmp is not the empty string.
232         Preserve exit status.
233         Don't use the nonstandard (and rarely available) "cpmod" utility.
234         Don't use "set -C"; it's no longer useful and it breaks things
235         in some cases.
236         (main loop): Handle file names beginning with "-".
237         Exit with status of failing program, not with 1.
238         Fix some bugs in printing diagnostics, and in quoting.
239         Require the skip= line to have at least one digit.
240         Use test -u and test -g rather than using the (less-reliable) ls.
241         Refuse to compress more programs, e.g., sh.
242         Use mktemp rather than tempfile.  Build a copy of
243         the compressed or uncompressed executable in the same
244         directory as the executable, as that's less likely to go wrong
245         if disk space is low.  Have the executable exit with status 127,
246         not 1, if the decompression process fails; this is more compatible
247         with meta-programs like nohup.  Have the executable
248         uncompress to a temp file with the same basename as the executable;
249         this is more likely to go right.  Fix a race condition where the
250         executable temporarily did not exist (in either old or new forms).
251         Check for race conditions better when mv fails.  Do not attempt
252         to use cp to do the real work, only to copy permissions to a temp
253         file, since we don't want to trash running executables.
254
255 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
256
257         * inflate.c (inflate_dynamic, inflate): Don't send output to
258         stderr unless DEBUG is defined and 'verbose'.  Problem reported by
259         Santiago Vila.
260
261         * zgrep.in: If the file name contains newline, &, \, or |, escape
262         the character so that 'sed' doesn't mishandle it as a replacement.
263         Problem reported by Bdale Garbee.
264
265 2006-11-25  Paul Eggert  <eggert@cs.ucla.edu>
266
267         * gzip.1 (OPTIONS): ouput -> output.  Problem reported by Matt
268         Taggart.
269         * vms/gzip.hlp: Likewise.
270
271         * Makefile.am (FILES_TO_CHECK): New macro.
272         (check-local): Check only the files in FILES_TO_CHECK, since some
273         files under the working directory might be mutating as the test is
274         run, e.g., with "make check >log".  Problem reported by Jim
275         Meyering.
276
277 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
278
279         * NEWS, configure.ac (AC_INIT):
280         Version 1.3.6 released.
281
282         * NEWS: Describe 1.3.6's changes.
283         * NEWS, README, README-alpha, TODO: Change from GPL to FDL.
284         * .cvsignore, README-cvs, bootstrap, bootstrap.conf: New files.
285         * doc/Makefile.am, lib/Makefile.am: New files.
286         * THANKS: Change own email address to cs.ucla.edu.  Add Sverre Jarp.
287         * TODO: Add new tasks to remove porting cruft and
288         all those buggy scripts.
289
290         * configure.ac: Renamed from configure.in.
291         (AC_PREREQ): Bump to 2.60.
292         (AC_INIT): Bump version to 1.3.6.
293         (AC_CONFIG_AUX_DIR): New.
294         (AC_CONFIG_HEADERS): Move config.h to lib.
295         Input is now lib/config.hin.
296         (AM_INIT_AUTOMAKE): Add gnits, dist-shar.
297         (AC_PROG_CC_STDC): New, replacing AC_PROG_CC.
298         (AM_PROG_CC_C_O, AC_PROG_RANLIB): New.
299         (AC_AIX, AC_GNU_SOURCE, AC_MINIX): Remove; gnulib does them now.
300         (gl_EARLY, gl_INIT): New.
301         match.c was moved to lib/match.c.
302         (AC_CHECK_HEADERS_ONCE): Replace AC_CHECK_HEADERS.  Don't check
303         for sys/utime.h or utime.h.
304         (AC_CHECK_FUNCS_ONCE): Replace AC_CHECK_FUNCS.  Check for fchmod
305         and fchown, not utime.
306         (AC_REPLACE_FUNCS): Remove; rpmatch is now done by gnulib.
307         (AC_CONFIG_FILES): Add doc/Makefile, lib/Makefile.
308
309         * bits.c: Use the more-usual form for copyright notices in source code.
310         * deflate.c: Likewise.
311         * gzip.c: Likewise.
312         * gzip.h: Likewise.
313         * inflate.c: Likewise.
314         * lzw.h: Likewise.
315         * revision.h: Likewise.
316         * tailor.h: Likewise.
317         * trees.c: Likewise.
318         * unpack.c: Likewise.
319         * unzip.c: Likewise.
320         * util.c: Likewise.
321         * crypt.c (dummy): Add decl so that pedantic compilers won't
322         complain about an empty file.
323         * gzip.c (license_msg): Use more-modern wording.
324         Include fcntl-safer.h, openat.h, stat-macros.h, stat-time.h.
325         Simply include <dirent.h> if !NO_DIR, removing a rats-nest of
326         #ifdefs.
327         Simply include <utimens.h> if !defined NO_UTIME, removing a
328         another rats-nest of #ifdefs.
329         (DIR_OPT, TIME_OPT): Remove.
330         (_D_EXACT_NAMLEN): Renamed from NAMLEN.  All uses changed.
331         (S_ISDIR, S_ISREG, O_BINARY, O_CREAT, O_EXCL, S_IRUSR, S_IWUSR):
332         Remove; gnulib now does this.
333         (RETSIGTYPE): Remove; Autoconf does this.
334         (program_name): Renamed from progname, for compatibility with gnulib.
335         All uses changed.
336         (time_stamp): Now struct timespec, not time_t.  All uses changd.
337         (remove_oftime): Now volatile.
338         (reset_times): Remove; now done by futimens.
339         (usage): Remove.
340         (try_help): New function.
341         (help, license): Don't output date as part of version.
342         A version number suffices.
343         (help): Redo help message to match style of coreutils etc.
344         (version): Don't bother printing compile-time configuration info
345         like STDC_HEADERS.
346         (main): Don't assume strlen (argv[0]) < INT_MAX (!).
347         On usage errors, suggest --help without outputting all the help.
348         (main, do_list): Remove unnecessary casts.
349         (treat_stdin, treat_file, get_method, copy_stat):
350         Support sub-second time stamp resolution.
351         (treat_file, copy_istat): Close some race conditions if files are
352         renamed as we read or write them.
353         (treat_file): Do not attempt to reset the access times of
354         directories that we read.
355         (open_and_stat, open_input_file): New functions.
356         (do_stat, get_istat): Remove; most of the contents went to these new
357         functions.
358         (make_ofname): Don't use WARN, as it affects exit status.
359         (get_method): When the original file name was truncated,
360         restore from its base name, not from its full name.
361         (do_list): Avoid undefined behavior with out-of-range time stamps.
362         ctime, for example, cannot be invoked on arbitrary time stamps safely,
363         since it might overrun an internal buffer.  Do not assume that
364         localtime succeeds.
365         (copy_stat): Do not remove input file; that's now the caller's
366         responsibility.  This avoids a problem if there is a write error
367         when the caller closes the output file.
368         (treat_dir): New arg FD, to avoid a race condition.  All uses changed.
369         (remove_output_file): New function.
370         (abort_gzip): Use it.
371         (abort_gzip_signal): New function, which is async-signal-safe.
372         Exit with the signal that we got.
373         * gzip.h (program_name, time_stamp, abort_gzip): Adjust decls to
374         match gzip.c changes.
375         * inflate.c (huft_build): Return 2 if null input.
376         * tailor.h (HAVE_UTIME): Do not define; gnulib does this now.
377         (OPEN): Use open_safer, not plain open.
378         * unlzh.c (NPT): Set to 1<<TBIT, not to the maximum of NT and NP.
379         (make_table): Report an error if 1<<tablebits < nextcode.
380         (read_pt_len): Report an error if 16 < c.
381         * unpack.c (read_tree): Report an error if the tree has too many
382         leaves while reading it.  Fix off-by-one error in final check.
383         * util.c: Include <xalloc.h>, for xalloc_die decl.
384         (gzip_base_name): Renamed from base_name, so we don't collide
385         with gnulib.  All uses changed.
386         (add_envopt): Use xstrdup instead of xmalloc+strcpy.
387         Use xcalloc rather than calloc + check.
388         (gzip_error): Renamed from error, so we don't collide with gnulib.
389         All uses changed.
390         (xalloc_die): New function.
391         (xmalloc): Remove; no longer needed.
392         * zip.c (zip): Watch for time stamp overflow; the old code
393         mishandled negative time stamps.
394
395         * gzexe.in: Add support for --help, --version, --.
396         Don't call basename or sed if we can avoid it.
397         * zdiff.in: Likewise.
398         * zforce.in: Likewise.
399         * zgrep.in: Likewise.
400         * zless.in: Likewise.
401         * zmore.in: Likewise.
402         * znew.in: Likewise.
403         * zdiff.in: Protect against file names beginning with "-".
404         * zmore.in: Likewise.
405         * zgrep.in: Use printf rather than echo, to avoid problems with
406         leading "-" and backslash.  Return status of subsidiary grep.
407         * zless.in: Add copyright notice.
408
409         * zless.1: We now pass "--" to LESSOPEN.
410         (BUGS): Mention that input file arguments are required.
411         Add copyright notice.
412
413         * COPYING: Update to current version.
414
415         * Makefile.am (SUBDIRS): New macro.
416         (AUTOMAKE_OPTIONS): Remove; now done in configure.ac.
417         (M4DIR, ACINCLUDE_INPUTS): Remove.
418         (EXTRA_DIST): Remove getopt.h.
419         (gzip_SOURCES): Remove getopt.c, getopt1.c, yesno.c.
420         (gzip_LDADD): Change from @LIBOBJS@ to lib/libgzip.a.
421         (AM_MAKEINFOFLAGS, info_TEXINFOS, gzip_TEXINFOS, ASCPP, LN_S):
422         (match.$(OBJEXT)): Move to subdirectory makefiles.
423         (.in): Substitute @VERSION@, too.
424         (check-local): New rule.
425         (MOSTLYCLEANFILES): Add _match.S.
426
427         * doc/gzip.texi: Renamed from gzip.texi.  Change to GNU FDL
428         without invariant sections or cover texts.  Don't put
429         version number or date into sample gzip -h output.
430         * lib/match.c: Renamed from match.c.  Add ia64 version
431         written by Sverre Jarp (HP Labs).
432
433         * INSTALL: Remove from CVS; now created automatically by
434         the bootstrap script.
435         * Makefile.in: Likewise.
436         * aclocal.m4: Likewise.
437         * config.h.in: Likewise.
438         * configure: Likewise.
439         * depcomp: Likewise.
440         * fdl.texi: Likewise.
441         * getopt.c: Likewise.
442         * getopt.h: Likewise.
443         * getopt1.c: Likewise.
444         * gzip.doc: Likewise.
445         * gzip.info: Likewise.
446         * install-sh: Likewise.
447         * mdate-sh: Likewise.
448         * missing: Likewise.
449         * mkinstalldirs: Likewise.
450         * rpmatch.c: Likewise.
451         * stamp-vti: Likewise.
452         * texinfo.tex: Likewise.
453         * version.texi: Likewise.
454         * yesno.c: Likewise.
455
456 2002-09-30  Paul Eggert  <eggert@twinsun.com>
457
458         * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
459         Revision 1.3.5, dated today.
460
461         * util.c (fprint_off): Fix bug in printing values greater than
462         10 * 2**32 bytes.  Bug reported by Bryan Andersen.
463
464         * Makefile.am (match.$(OBJEXT)): Use .S as extension for $(ASCPP),
465         to keep gcc happy.
466         * configure.in: Likewise.
467         Upgrade assembly-language checking for Autoconf 2.54, using cache vars.
468         (AC_PROG_CPP, AC_OBJEXT): Add.
469
470         * match.c: Accept __i386 and __i386__ as synonyms for i386.
471         Bug reported by "fork __" <bouloumag@hotmail.com>.
472
473 2002-09-29  Paul Eggert  <eggert@twinsun.com>
474
475         * gzip.texi (Overview): Suggest how to use gunzip on zip files.
476
477         * zless.1, zless.in: Use LESSOPEN, not PAGER.
478         Suggested by <antos@MAST.queensu.ca>.
479
480 2002-09-28  Paul Eggert  <eggert@twinsun.com>
481
482         * zforce.in: Use shell pattern matching instead of 'expr', which
483         mishandles names like "+".  Remove old check for 14-byte file
484         names on hosts with broken "mv" implementations, as such systems
485         aren't in use any more and it's better nowadays to support file
486         names longer than 14 bytes.  Rely on "mv"'s error-reporting.
487         This fixes a portability bug reported by Ralf Neubauer, along
488         with some other bugs.
489
490         Remove dangling output symlinks properly.
491         Bug reported by Kalle Olavi Niemitalo.
492         * gzip.c (lstat): New macro, for platforms lacking lstat.
493         (do_stat): Use it.
494         (name_too_long, check_ofname): Use lstat instead of stat.
495
496 2002-09-27  Paul Eggert  <eggert@twinsun.com>
497
498         * zforce.in: Use "gzip -lv", not "gzip -v".  Patch by Ralf
499         Neubauer.
500
501         * configure.in (ASCPP): Don't use test -a, as POSIX says it's
502         not portable.
503         * znew.in: Likewise.
504         * zmore.in: Likewise.  Similarly, don't use test -o, or test -t
505         with no operand.
506
507         * gzexe.in (PATH): Set to same as other programs.
508         Don't assume "tail +22" works; POSIX removed this.
509         Check against compressing "tail".
510         Check against "skip=" line with no integer.
511         * zgrep.in: Exit with status 2 if trouble, for consistency with grep.
512
513         * gzip.c (main): Avoid core dump in diagnostic message if
514         incorrect suffix is given.
515
516 2002-09-26  Paul Eggert  <eggert@twinsun.com>
517
518         * zdiff.in: Use "trap -" instead of "trap".  Patch by Nicolas Boullis.
519         Use names, not numbers, for signals.  Patch by Andrew Stribblehill.
520
521         * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
522         Revision 1.3.4, dated today.
523
524         * README-alpha: Upgrade to Autoconf 2.54 and Automake 1.7.
525         * configure.in (AC_PREREQ): Move to start, and increase to 2.54.
526         (AC_INIT, AM_INIT_AUTOMAKE, AC_CONFIG_SRCDIR, AC_CONFIG_FILES,
527         AC_OUTPUT): Use modern style.
528         (AC_OBJEXT, AC_EXEEXT): Remove; obsolete.
529         (AC_GNU_SOURCE): Add.
530         (AC_HEADER_STDC): Renamed from AC_STDC_HEADERS.
531         (AC_CHECK_HEADERS): Remove stdlib.h, string.h, unistd.h; now done
532         by Autoconf.
533         (AC_SUBST): Remove CFLAGS; now done by Autoconf.
534
535         * gzip.texi: Use the GNU FDL for distribution terms, following the
536         recipe in the Texinfo manual.  Use Automake-generated variables
537         for date and version.
538         * fdl.texi, mdate-sh: New files.
539         * Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
540         (gzip_TEXINFOS): New macro.
541
542         * tailor.h (NO_DIR): Define to 1, not the empty string.
543         * gzip.c (NO_DIR): Define to 0 if not defined.  All uses changed.
544         (usage): Don't put '#if' inside printf, as the C standard says
545         that it is not portable if printf is a macro.
546
547         Don't lose output when decompressing truncated input.
548         Bug reported by Nadav Har'El.
549         * inflate.c (GETBYTE): New macro.
550         (NEXTBYTE): Use it.
551         (inflate_dynamic, inflate_block): Add a local variable w, needed
552         by GETBYTE.
553
554 2002-03-08  Paul Eggert  <eggert@twinsun.com>
555
556         * NEWS, README, revision.h, gzip.texi,
557         configure.in (AM_INIT_AUTOMAKE): Revision 1.3.3, dated today.
558
559         * README-alpha: Now using latest stable GNU tools.
560         Using the latest tools allows gzip to build correctly on hosts
561         conforming to POSIX 1003.1-2001.
562
563         * configure.in (match): Use AC_LIBOBJ; Autoconf 2.53 requires it.
564         (LIBOBJS): No longer need to subst, since AC_LIBOBJ does it.
565         (AC_PREREQ): Bump to 2.53.
566
567         * Makefile.am (install-exec-hook, remove-installed-links):
568         Work even when configured with --program-transform-name.
569
570         * gzip.c (license_msg): Update copyright.
571         (z_len): Now of type size_t.
572
573 2001-11-03  Paul Eggert  <eggert@twinsun.com>
574
575         * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
576         Revision 1.3.2, dated today.
577
578         * Makefile.am (LN_S): New macro.
579         (install-exec-hook): Depend on remove-installed-links.
580         Affect $(DESTDIR)$(bindir), not just $(bindir).
581         (uninstall-local, remove-installed-links): New rules.
582         * README-alpha: This release built with autoconf 2.52f.
583         * TODO: Add rsync patch.
584         * configure.in: Add AC_PREREQ(2.52) and AC_PROG_LN_S.
585         * gzip.1, zmore.1: Fix troff glitches, using Eric S. Raymond's
586         suggestions for inspiration.
587         * m4/shell.m4(AC_PROG_SHELL): Add commentary and cleanup.
588
589         * gzip.texi, gzip.1: Add pointers to RFCs 1951 and 1952.
590         Mention that gzip --list reports file sizes modulo 2^32.
591         * gzip.1: Remove incorrect report of 2 GB bug.  Add copyright notice.
592
593 2001-09-30  Paul Eggert  <eggert@twinsun.com>
594
595         * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
596         Revision 1.3.1, dated today.
597
598         * INSTALL, getopt.c, getopt.h, getopt1.c, install-sh, missing,
599           mkinstalldirs, texinfo.tex:
600         Sync with latest version in other packages.
601
602         * acinclude.m4, config.guess, config.sub: Remove.
603         * depcomp, rpmatch.c, yesno.c: New files.
604
605         * ChangeLog, README, NEWS, TODO, configure.in, zgrep.in, zmore.in:
606         Add copyright notice.
607
608         * Makefile.am (ACLOCAL_AMFLAGS): New macro.
609         (ACINCLUDE_INPUTS): Remove all but shell.m4.
610         ($(srcdir)/acinclude.m4): Remove.
611         (gzip_sources): Add yesno.c.
612
613         * TODO: Add i18n.
614
615         * configure.in (AC_CANONICAL_HOST): Remove.
616         (AC_AIX, AC_MINIX): Move earlier.
617         (AC_REPLACE_FUNCS): Add rpmatch.
618
619         * gzip.c (main):
620         Report error if -b operand is not a nonnegative integer.
621         (treat_file): Don't assume tab width is 8, or that characters are
622         one column wide.
623         (make_ofname): Use WARN to warn about unchanged files.
624         (get_method): "get newer version of gzip" -> "not supported"
625         (check_ofname): Use yesno instead of checking for 'y' ourselves.
626         (treat_file): Do not assume link count fits in int.
627
628         * gzip.h (yesno): New decl.
629
630         * util.c (display_ratio): Use floating point to compute ratio:
631         this avoids problems with integer overflow.
632
633         * zgrep.in: Add support for --, -H, -h, -L, -l, -C, -d, -m and
634         their long equivalents.  Warn that -r and -d are not supported.
635
636         * zmore.in:
637         Check that file is readable before attempting to decompress it.
638
639 2000-10-09  Paul Eggert  <eggert@twinsun.com>
640
641         * configure.in (AC_CHECK_FUNCS): Add lstat.
642
643 2000-07-20  Paul Eggert  <eggert@twinsun.com>
644
645         Use a POSIX-compliant shell instead of /bin/sh.
646         Idea suggested by Albert Chin-A-Young <china@thewrittenword.com>.
647
648         * m4/shell.m4: New file.
649         * configure.in (AC_PROG_SHELL): Add it.
650         * Makefile.am (ACINCLUDE_INPUTS): Add $(M4DIR)/shell.m4.
651         (.in): Replace /bin/sh with $(SHELL).
652
653 2000-04-17  Bruno Haible  <haible@clisp.cons.org>
654
655         * Makefile.am (install-exec-hook): If hard links fail, try symlinks.
656
657 2000-04-02  Jim Meyering  <meyering@ascend.com>
658
659         * Makefile.am (install-exec-hook): Remove link targets before
660         installing.
661
662 2000-01-02  Albert Chin-A-Young  <china@thewrittenword.com>
663
664         * gzip.texi: Add direntry.
665
666 1999-12-21  Paul Eggert  <eggert@twinsun.com>
667
668         * NEWS, README, revision.h, gzip.texi: Revision 1.3, dated today.
669         * gzip.c (license_msg, usage, version, help, license):
670         Adjust to current GNU coding standards.
671         (total_in, total_out): Remove unnecessary initialization.
672         * zip.c (file_read): Report read errors.
673         * util.c (fill_inbuf): Likewise.
674         * gzip.c (main): Don't assume EOF == -1.
675         * unlzw.c (unlzw): Likewise.
676         * util.c (copy, fill_inbuf): Likewise.
677
678 1999-11-18  Paul Eggert  <eggert@twinsun.com>
679
680         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS):
681         Work around a bug in the QNX shell, which doesn't
682         propagate exit status of failed commands inside shell assignments.
683
684 1999-10-07  Paul Eggert  <eggert@twinsun.com>
685
686         * NEWS, README, revision.h, gzip.texi:
687         Revision 1.2.4294967306 dated today.  This is the successor to
688         revision 1.2.4.4294967305; automake requires the new (shorter) number.
689
690         Convert to automake.
691
692         * Makefile.am, gunzip.1, zcat.1, zcmp.1, AUTHORS: New files.
693
694         * revision.h (VERSION): Remove; moved to config.h.
695
696         * configure.in (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER,
697         AC_CANONICAL_HOST, AC_OBJEXT): Add.
698         (AC_PROG_CPP): Remove.
699         (AC_SYS_LARGEFILE): Add, replacing older inline code.
700         (ASCPP): Use $OBJEXT.
701         (LIBOBJS): Add match.o if needed.
702         (AC_PROG_INSTALL): Remove.
703         (AC_EXT, AC_C_CONST): Add.
704         (AC_CHECK_HEADERS): Add, replacing lots of AC_HEADER_CHECKs.
705         All instances of defined(NO_TIME_H) changed to !defined(HAVE_TIME_H),
706         etc.
707         (AC_CHECK_FUNCS): Add utime.
708         (SEDCMD): Use $interpval, not $ac_cv_sys_interpreter.
709         (AC_PREFIX_PROGRAM): Add, replacing AC_PREFIX.
710         (ZCAT, G): Remove.
711         (LIBOBJS): Add.
712         (OBJA): Remove; LIBOBJS now does this.
713
714         * bits.c, gzip.c, deflate.c, inflate.c, lzw.c, trees.c, unlzh.c,
715         unlzw.c, unpack.c, unzip.c, util.c, zip.c: Include <config.h>
716         first; this is needed for proper large-file support, given the new
717         way of configuring large files.
718
719         * gzip.c: Include <sys/types.h>; Ultrix needs this.
720         (TIME_OPT): Use STRUCT_UTIMBUF instead of empty string.
721         (help): Add bug-report address.
722         (do_stat): Depend on HAVE_LSTAT, not S_IFLNK, S_ISLNK, and NO_SYMLINK.
723
724 1999-06-25  Paul Eggert  <eggert@twinsun.com>
725
726         * inflate.c (huft_build):
727         Set n to length of v, to detect improper tables.
728         Don't accidentally grow j past z.
729
730 1999-06-24  Paul Eggert  <eggert@twinsun.com>
731
732         * Makefile.in (check): Update texinfo.tex size.
733
734         * configure.in (ASMV):
735         Define with AC_DEFINE; do not manipulate DEFS directly,
736         as this doesn't work with recent autoconf versions.
737
738 1999-02-06  Paul Eggert  <eggert@twinsun.com>
739
740         * NEWS, README, revision.h, gzip.texi: Revision 1.2.4.4294967305,
741         dated today.  This merges the changes from gzip 1.2.4a, which fix
742         some typographical errors in the documentation and update the
743         bug-reporting address.
744
745 1999-01-27  Paul Eggert  <eggert@twinsun.com>
746
747         * NEWS, README, revision.h (VERSION, REVDATE):
748         Revision 1.2.4.4294967304, dated today.
749
750         Port to autoconf 2.13.
751
752         * Makefile.in (next, next-fat, coherent):
753         Update dirent headers to match Autoconf 2.13.
754         * configure.in (AC_RETSIGTYP): Remove; superseded by AC_TYPE_SIGNAL.
755         (AC_DYNIX_SEQ, AC_XENIX_DIR, AC_DIR_HEADER): Remove; superseded by
756         AC_HEADER_DIRENT.
757         * tailor.h (HAVE_DIRENT_H, HAVE_SYS_DIR_H):
758         Define instad of DIRENT, SYSDIR.
759         * gzip.c (NAMLEN): Renamed from NLENGTH. Depend on Autoconf 2.13 names
760         HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H
761         instead of the oldfashioned names DIRENT, SYSDIR, SYSNDIR, NDIR.
762         (CLOSEDIR): New macro.
763         (progerror): New function.
764         (treat_stdin, treat_file, creat_outfile, get_istat, check_ofname,
765         treat_dir): Use it, for brevity.
766         (treat_dir): Report any I/O errors when reading directories.
767
768         * COPYING, INSTALL, doc/texinfo.tex, install-sh:
769         Update to latest public versions.
770
771 1998-11-18  Paul Eggert  <eggert@twinsun.com>
772
773         * NEWS, README, revision.h (VERSION, REVDATE):
774         Revision 1.2.4.4294967303, dated today.
775
776         * gzip.c (get_method): Don't complain about trailing zeros at
777         the end of a gzipped file, as they're commonly appended to fill
778         out a block (e.g. by GNU tar).
779
780         * configure.in (CPPFLAGS, LDFLAGS, LIBS): Add large-file support
781         for HP-UX 10.20 and later.
782
783         * getopt.c, getopt.h, texinfo.tex: Sync with latest version at gnu.org.
784         * getopt1.c: New file.
785         * Makefile.in (SRCS): Add getopt1.c.
786         (OBJS): Add getopt1$O.
787         (getopt1$O): New dependency.
788         (check): Adjust desired size of compressed texinfo.tex to 55637,
789         to reflect the 1998-11-13 edition of texinfo.tex.
790
791         * gpl.texinfo: Remove; its addresses were out of date and
792         these days the GPL isn't reprinted in manuals anyway.
793         * gzip.texi: Remove reference to gpl.texinfo.
794         * Makefile.in (GENFILES): Remove gpl.texinfo.
795
796 1998-11-13  Paul Eggert  <eggert@twinsun.com>
797
798         * NEWS, README, revision.h (VERSION, REVDATE):
799         Revision 1.2.4.4294967302, dated today.
800
801         * gzip.c (input_eof): New function.
802         (treat_stdin, treat_file): Use it to fix premature detection of EOF
803         bug when a gzipped file concatenation boundary is at a multiple of
804         INBUFSIZ.
805
806         * Makefile.in (installman): Fix bug when installing from subdirectory.
807         ($(srcdir)/gzip.info): Renamed from gzip.info.
808         ($(srcdir)/gzip.info, realclean): Do not split gzip.info.
809
810 1998-10-26  Paul Eggert  <eggert@twinsun.com>
811
812         * NEWS, README, revision.h (VERSION, REVDATE):
813         Revision 1.2.4.4294967301, dated today.
814
815         * TODO: Update bug reporting address.
816
817         * Makefile.in (datadir, libdir): Remove unused macros.
818         (mandir): Let configure set it.
819         (manextdir): New macro.
820         (alldirs): Remove datadir, libdir; add manextdir.
821         (TEXI2HTML): New macro.
822         (installman, uninstall): Install into manextdir, not mandir.
823         (install-strip): New rule.
824         (installdirs): No need to build $(prefix)/man separately,
825         as it's now in alldirs.
826         (match$O): Compile with $(CFLAGS).
827         (gzip_1.html): New rule.
828
829         * gzip.c (get_istat): Remove lint by initializing z_suffix_errno.
830         (check_ofname): Do not assume unsigned char.
831
832         * util.c (strlwr): Don't assume char is unsigned.
833         (warning): Renamed from `warn'.
834
835         * gzip.h (tolow): Use tolower instead of relying on 'A'-'a'.
836         (warning): Renamed from warn.
837
838         * trees.c (warning): Renamed from warn.
839
840 1998-10-14  Paul Eggert  <eggert@twinsun.com>
841
842         Merge patches from Debian.
843
844         * NEWS, README, revision.h (VERSION, REVDATE):
845         Revision 1.2.4.4294967300, dated today.
846
847         * README, algorithm.doc, gzip.texi: Update maintainer address.
848
849         * gzexe.in, zdiff.in, znew.in:
850         Close security hole portably, using `set -C'.
851
852         * zgrep.in: Add -A, -B.
853
854         * gzexe.in: Use `gzip', not full path, to run gzip.
855
856         * zdiff.in: Report proper exit status.
857
858         * gzip.h (base_name): Renamed from basename.  All uses changed.
859
860         * gzip.c (z_suffix): Now char *, so that there's no limit to length.
861         All uses change.
862         (main): If --quiet, abort gzip when SIGPIPE received.
863         (get_suffix): Don't assume z_suffix's address is a constant.
864         (get_istat): Likewise.
865         Check for buffer overflow.
866         Preserve errno correctly.
867         (make_ofname): Check for buffer overflow.
868
869         * util.c (fill_inbuf): Flush window before reporting read error.
870
871         * inflate.c (inflate_dynamic): Don't dump core if tl == NULL.
872
873         * Makefile.in (GENFILES): Add zless.in.
874         (SCRIPTS): Add zless.
875         (default): Build all programs, not just gzip.
876         (all): Add zless.
877         (installbin): Install zegrep, zfgrep.
878         (installman): Install zless man page.
879         (install_compress): Don't install compress.
880         (zless): New rule.
881
882 1998-09-16  Paul Eggert  <eggert@twinsun.com>
883
884         * NEWS, README, revision.h: Bump version number to 1.2.4.4294967299.
885
886         * tailor.h (UNLINK_READONLY_BUG): New macro.
887         * gzip.h (unlink): New decl.
888         * util.c (xunlink): New function.
889         * gzip.c
890         (treat_file, create_outfile, check_ofname, copy_stat, abort_gzip):
891         Use xunlink rather than unlink.
892         Do not chmod the file; xunlink will do that if need be.
893
894 1998-05-21  Paul Eggert  <eggert@twinsun.com>
895
896         * NEWS, README, revision.h: Bump version number to 1.2.4.4294967298.
897         * Makefile.in (prefix): Set from @prefix@.
898         (distclean): Remove config.cache.
899
900 1998-01-15  Paul Eggert  <eggert@twinsun.com>
901
902         * NEWS, README, revision.h:
903         Bump version number to indicate large-file support.
904
905 1997-10-08  Paul Eggert  <eggert@twinsun.com>
906
907         * gzip.c (CHAR_BIT): Define if <limits.h> doesn't.
908         (OFF_T_MIN, OFF_T_MAX): New macros.
909         (do_list): Revert to fixed format, but this time don't assume
910         that 9 digits suffice; use a width taken from the maximum value
911         that off_t can represent.
912         (off_t): Do not typedef; autoconf handles this now.
913         * gzip.c, util.c (<limits.h>): Include if HAVE_LIMITS_H.
914         * gzip.h, util.c (fprint_off): Now takes int width argument.
915         * configure.in (AC_HAVE_HEADERS): Check for limits.h.
916         (AC_TYPE_OFF_T): Use this instead of grepping sys/types.h for off_t.
917         (AC_TYPE_SIZE_T): Use this instead of obsolescent AC_SIZE_T.
918         * tailor.h (NO_OFF_T): Remove.
919         (off_t): Define this instead.
920
921 1997-10-03  Paul Eggert  <eggert@twinsun.com>
922
923         * Makefile.in, bits.c, configure.in, deflate.c, gzip.c, gzip.h,
924         inflate.c, trees.c, unlzw.c, unpack.c, unzip.c, util.c, zip.c:
925         Adjust to Solaris 2.6, which has large files but small off_t by default.
926         * gzip.c: Output more reasonable message if input file is too large.
927         * gzip.c, util.c: Propagate errno from point of error to `perror'.
928         * unzip.c: Allow uncompressing files larger than 4 gigabytes.
929         http://www.gzip.org/4g.patch (1996-07-21)
930
931 Wed Aug 18 09:34:23 1993  Jean-loup Gailly  (jloup@chorus.fr)
932
933         * version 1.2.4
934         By default, do not restore file name and timestamp from those saved
935           inside the .gz file (behave as 'compress'). Added the --name option
936           to force name and timestamp restoration.
937         Accept - as synonym for stdin.
938         Use manlinks=so or ln to support either hard links or .so in man pages
939         Accept foo.gz~ in zdiff.
940         Added support for Windows NT
941         Handle ENAMETOOLONG for strict Posix systems
942         Use --recursive instead of --recurse to comply with Webster and
943           the GNU stdandard.
944         Allow installation of shell scripts with a g prefix: make G=g install
945         Install by default zcat as gzcat if gzcat already exists in path.
946         Let zmore behave as more when invoked without parameters (give help)
947         Let gzip --list reject files not in gzip format even with --force.
948         Don't complain about non gzip files for options -rt or -rl.
949         Added advice in INSTALL for several systems.
950         Added makefile entries for NeXTstep 3.1 (if configure fails)
951         Avoid problem with memcpy on Pyramid (gave crc error on some files)
952         Support the -r option when compiled with Borland C++ on msdos.
953         Force lower case file names only for FAT file systems (not HPFS)
954         Rewrite one expression in inflate.c to avoid cc bug on Solaris x86.
955         In the msdos makefiles, get match.asm from the msdos subdirectory.
956         Catch SIGTERM and SIGHUP only if they are not ignored.
957         getopt.c: on Amiga, "#if !defined(const)" does not compile.
958         Use register parameters on Amiga.
959         Do not force names to lower case on Amiga.
960         Fix support of Atari TOS (Makefile.st and tailor.h)
961         In unlzw.c, do not suggest using zcat if zcat already used.
962         In INSTALL, suggest using bsdinst for HPUX.
963         Document Turbo C++ 1.0 bug in INSTALL.
964         Improved the documentation relative to the --no-name option.
965         Avoid signed/unsigned warnings in several files.
966         Added pointer to jka-compr19.el in README.
967         Added pointer to OS/2 executables in README.
968         Added --block-compress in tar -z example (gzip.1 and gzip.texi).
969         Don't keep rcsid in executable (avoid compilation warnings).
970         Check also the correctness of the first byte of an .Z file.
971         Return non zero status for an invalid option.
972         Remove "NEWFILES" from os2/gzip.def for Borland C++ on OS/2.
973         Remove "time stamp restored" message (just obey the -N request).
974
975 Thu Jun 24 10:27:57 1993  Jean-loup Gailly  (jloup@chorus.fr)
976
977         * version 1.2.3
978         Don't display the output name when decompressing except with --verbose.
979         Remove usage of alloca in getopt.c and all makefiles.
980         Use ASCPP instead of CPP to avoid breaking AC_HEADER_CHECK on RiscOS.
981         Added the zfile shell script in subdirectory sample.
982         Moved the list of compiler bugs from README to INSTALL.
983         Added vms/Readme.vms.
984         Fix DIST_BUFSIZE check in unlzh.c for 16 bit machines.
985         Fix REGSIGTYP macro in configure.in.
986         Use 'define' instead of == in vms/gzip.hlp.
987         Avoid warnings in unlzh.c
988         Allow separate installation of binaries and man pages.
989         Simplified handling of file names with spaces in zgrep and znew.
990         Fix dependencies and remove rule for trees.c in amiga/Makefile.sasc
991         Add missing quote in gzexe.
992
993 Thu Jun 17 13:47:05 1993  Jean-loup Gailly  (jloup@chorus.fr)
994
995         * version 1.2.2
996         Fix a compilation error in gzip.c on Sun with cc (worked with gcc).
997
998 Wed Jun 16 11:20:27 1993  Jean-loup Gailly  (jloup@chorus.fr)
999
1000         * version 1.2.1
1001          Let zmore act as more if the data is not gzipped.
1002          By default, display output name only when name was actually truncated.
1003          Use absolute path names in gzexe'd programs for better security.
1004          In gzexe, use chmod 700 instead of 755 and don't gzexe tail,rm,etc...
1005          Update vms/gzip.hlp.
1006          Added a note about the fast options (-1 to -3) in algorithm.doc.
1007          Improved man page for zgrep.
1008          Minor fixes to gzip.texi.
1009          Always set LC_ALL and LANG in configure (for tr on HPUX)
1010
1011 Mon Jun 14 10:03:24 1993  Jean-loup Gailly  (jloup@chorus.fr)
1012
1013         * version 1.2
1014          Added the --list option to display the file characteristics.
1015          Added the --no-name option: do not save or restore original filename
1016            Save the original name by default.
1017          Allow gunzip --suffix "" to attempt decompression on any file
1018            regardless of its extension if an original name is present.
1019          Add support for the SCO compress -H format.
1020          gzip --fast now compresses faster (speed close to that of compress)
1021            with degraded compression ratio (but still better than compress).
1022            Default level changed to -6 (acts exactly as previous level -5) to
1023            be a better indication of its placement in the speed/ratio range.
1024          Use smart name truncation: 123456789012.c -> 123456789.c.gz
1025            instead of 12345678901.gz
1026          With --force, let zcat pass non gzip'ed data unchanged (zcat == cat)
1027          Added the zgrep shell script.
1028          Made sub.c useful for 16 bit sound, 24 bit images, etc..
1029          Supress warnings about suffix for gunzip -r, except with --verbose.
1030          Moved the sample programs to a subdirectory sample.
1031          On MSDOS, use .gz extension when possible (files without extension)
1032          Added a "Special targets" section in INSTALL.
1033          Use stty -g correctly in zmore.in.
1034          Use cheaper test for gzipness in zforce.in.
1035          Remove space before $ in match.S (no longer accepted by gas 2.x)
1036          For the shell scripts, do not assume that gzip is in the path.
1037          Fix syntax error and define lnk$library in vms/Makefile.mms
1038          REGSIGTYPE is void on the Amiga.
1039          Do not write empty line when decompressing stdin with --verbose.
1040          Fix the 1.1.2 fix for VMS (bug in get_suffix)
1041          Added warning in README about compiler bug on Solaris 2.1 for x86.
1042          Added warning about 'rehash' in INSTALL.
1043          Removed default value of read_buf in bits.c (supermax doesn't like).
1044          In tailor.h, added support for Borland C and Zortech C on OS/2.
1045          Added warning in gzexe about Ultrix buggy sh (use /bin/sh5 instead).
1046          Added warning in zdiff about AIX buggy sh (use /bin/ksh instead).
1047          In configure.in, do not try the asm code if DEFS contains NO_ASM
1048
1049 Fri Jun  4 09:49:33 1993  Jean-loup Gailly  (jloup@chorus.fr)
1050
1051         * version 1.1.2
1052          Fix serious bug for VMS (-gz not removed when decompressing).
1053          Allow suffix other than .gz in znew.
1054          Do not display compression ratio when decompressing stdin.
1055          In zmore.in, work around brain damaged stty -g (Ultrix).
1056          Display a correct compression ratio for .Z files.
1057          Added .z to .gz renaming script in INTALL.
1058          Allow setting CFLAGS in configure.
1059          Add warning in README about bug in Concentrix cc compiler.
1060          Avoid || in Makefile.in (at least one make doesn't support this).
1061          Disable useless --ascii option for the Amiga.
1062          Add a pointer to the Primos executable in README.
1063          Added description of extra field in algorithm.doc.
1064          Do not redefine NULL in alloca.c.
1065          Added check for unsupported compression methods.
1066          Avoid getopt redeclaration on OSF/1.
1067
1068 Tue Jun  1 09:07:15 1993  Jean-loup Gailly  (jloup@chorus.fr)
1069
1070         * version 1.1.1
1071          Fix serious bug in vms.c (== instead of =).
1072          Added --ascii option.
1073          Add workaround in configure.in for Ultrix (quote eval argument)
1074          Do not use unset in znew (not supported on Ultrix)
1075          Use tar.gz instead of tar.z for the distribution of gzip.
1076          Add missing menu item in gzip.texi.
1077          Use size_t instead of unsigned, add AC_SIZE_T in configure.in.
1078
1079 Fri May 28 11:40:01 1993  Jean-loup Gailly  (jloup@chorus.fr)
1080
1081         * version 1.1
1082          Use .gz suffix by default, add --suffix option.
1083          Let gunzip accept a "_z" suffix (used by one 'compress' on Vax/VMS).
1084          Quit when reading garbage from stdin instead of reporting an error.
1085          Added sub.c and add.c for compression of 8 bit images.
1086          Added makefile for VAX/MMS and support for wildcards on VMS.
1087          Added support for MSC under OS/2.
1088          Added support for Prime/PRIMOS.
1089          Display compression ratio also when decompressing.
1090          Quit after --version (GNU standard)
1091          Use --force to bypass isatty() check.
1092          Accept --silent as synonym for --quiet (see longopts.table)
1093          Accept --to-stdout as synonym for --stdout (see longopts.table)
1094          Accept -H and -? in addition to -h and --help.
1095          Added comparison of zip and gzip in the readme file.
1096          Return an error code in all main compression/decompression functions.
1097          Continue processing other files in case of recoverable error.
1098          Add description of -f in znew.1.
1099          Do not keep uncompressed version for znew -t if .gz already exists.
1100          On Unix, use only st_ino and st_dev in same_file().
1101          Use S_IRUSR and S_IWUSR if they exist.
1102          "test $1 = -d" -> "test x$1 = x-d" in gzexe.
1103          In match.S, use symbol sysV68 to detect the Motorola Delta.
1104          Do not include memory.h with gcc (conflicting declarations on Sun).
1105          Fix more typos.
1106          On VMS, define unlink as delete also for gcc.
1107          In "make check", unset LANG because "wc -c" fails on Kanji.
1108          Renamed shdir as scriptdir.
1109          Use the 68020 code instead of 68000 code on the NeXT.
1110          Documented --uncompress as synonym for --decompress.
1111          Include the standard header files before gzip.h (needed on Bull).
1112          Do not assume that _POSIX_VERSION implies dirent.h present.
1113          Removed gzip-tar.patch since tar 1.11.2 handles gzip directly.
1114          Use less memory when compiled with -DSMALL_MEM (for MSDOS).
1115          Optimized updcrc().
1116          Don't complain if cc -E does not work correctly.
1117          Do not attempt reading 64K bytes on 16 bit Unix systems.
1118          Do not use the variable name 'overhead' which is reserved on Lynx!
1119          One BULL compiler does not like *p++ in inflate.c => *p, p++.
1120          Use casts on free and memcmp to avoid warnings.
1121          Remove the "off by more than one minute" time stamp kludge, but
1122            document how to avoid saving the time stamp on pipes if desired.
1123          Include crypt.h in inflate.c (one system predefines the CRYPT symbol).
1124          Add links to gunzip and (g)zcat in the default make rule.
1125          Create installation directories if they do not exist.
1126          Clarified --prefix option in INSTALL.
1127          Use symbol mc68k in match.S for the DIAB DS90.
1128          Guard against zero length _match.s in configure.in.
1129          In zmore, restore all tty options using stty -g.
1130          Added support for MacOS
1131          Simplified makecrc.c.
1132          Avoid warnings in getopt.c, util.c, unlzw.c.
1133          Use autoconf 1.4, in particular for INSTALL and AC_HAVE_POUNDBANG
1134          Use .so instead of hard links for zcat.1, gunzip.1 and zcmp.1.
1135          Fixed declration of sig_type.
1136          Make consistency check in fcfree.
1137          Added ztouch.
1138          Do not complain if utime fails on a directory (for OS/2).
1139
1140 Thu Mar 18 18:56:43 1993  Jean-loup Gailly  (jloup@chorus.fr)
1141
1142         * version 1.0.7
1143           Allow zmore to read from standard input (like more).
1144           Support the 68000 (Atari ST) in match.S.
1145           Retry partial writes (required on Linux when gzip is suspended in
1146             a pipe).
1147           Allow full pathnames and renamings in gzexe.
1148           Don't let gzexe compress setuid executables or gzip itself.
1149           Added vms/Makefile.gcc for gcc on the Vax.
1150           Give a pointer to Solaris and VMS executables of gzip in README.
1151           Allow installation of binaries and shell scripts in different dirs.
1152           Do not use alloca on the Cray.
1153           Provide strspn and strcspn if string.h does not exist.
1154           Define O_CREAT and O_EXCL from FCREAT and FEXCL if necessary.
1155           Remove gzip.doc in make realclean.
1156           Fixed many typos. (Corrections to my English are welcome.)
1157           Put "make manext=l install" at the correct place in INSTALL.
1158           Fix incorrect examples in INSTALL and give more examples.
1159           Include zdiff.1 for install and uninstall.
1160           Allows complex PAGER variable in zmore (e.g.: PAGER="col -x | more")
1161           Avoid warning on unused indfound in getopt.c.
1162           Cast memset arg to void* (required by some buggy compilers).
1163           Include sys/types.h before dirent.h in acgeneral.m4.
1164           Fix acgeneral.m4 AC_COMPILE_CHECK to avoid warnings.
1165           Don't use alloca.c with gcc. (One NeXT user did not have alloca.h).
1166           Change all error messages according to GNU standards.
1167           Restore time stamp only if off by more than one minute.
1168           Allow installation of zcat as gzcat.
1169           Suppress help message  and send compressed data to the terminal when
1170             gzip is invoked without parameters and without redirection.
1171            (Explicit request from Noah Friedman.)
1172           Add compile option GNU_STANDARD to respect the GNU coding standards:
1173             with -DGNU_STANDARD, behave as gzip even if invoked under the
1174             name gunzip. (Complaints to /dev/null or the FSF, not to me!)
1175
1176 Fri Mar 10 13:27:18 1993  Jean-loup Gailly  (jloup@chorus.fr)
1177
1178         * version 1.0.6
1179           Let gzexe detect executables that are already gzexe'd.
1180           Don't try restoring record format on VMS (the simple 1.0.5 code
1181             worked correctly only on fixed-512 files). Suppress text_mode.
1182           Added asm version for 68000 in amiga/match.a.
1183           Use asm version for Atari TT.
1184           Fix "make clean" in vms/Makefile.vms.
1185           For OS/2, assume HPFS by default, add flag OS2FAT if necessary.
1186           Fixed some bugs in zdiff and define zcmp as a link to zdiff.
1187           Added zdiff.1
1188           Remove configure hack for NeXT; add general fix to autoconf instead
1189           Do not strip a ".z" extension if this results in an empty name.
1190           Avoid array overflow in get_prefix() for extensions > 10 chars.
1191           Accept either q or e to quit zmore.
1192           In zmore, try restoring tty mode in all cases.
1193           Use Motorola style for match.S on the NeXT.
1194           configure.in: unsetenv *hangs* with the Siemens csh...
1195           Update vms/gzip.hlp.
1196
1197 Thu Mar 4 14:13:34 1993  Jean-loup Gailly  (jloup@chorus.fr)
1198
1199         * version 1.0.5
1200           For VMS, restore the file type for variable record format, otherwise
1201             extract in fixed length format (not perfect, but better than
1202             forcing all files to be in stream_LF format).
1203           Use "-z" suffix for VMS.
1204           Use only .z, .*-z, .tgz, .taz as valid gzip extensions; update
1205            zforce accordingly.
1206           Allow a version number in input file names for VMS.
1207           Added sample program zread.c.
1208           Fix "make check" for some implementations of /bin/sh.
1209           Don't rely on stat() for filenames with extension > 3 chars
1210             on MSDOS, OS2 and Atari.
1211           Garbage collect files in /tmp created by gzexe.
1212           Quote $opt in znew.
1213           Use TOUCH env variable in znew if it exists.
1214           Better error message for gunzip on empty or truncated file.
1215           Allow prototypes in getopt.h when __STDC__ defined but 0.
1216           Added "make clean" in vms/Makefile.vms.
1217           Removed -g from default CFLAGS (with Noah's permission!)
1218           Avoid too many HAVE_xxx_H for most systems; use common defaults.
1219           Moved default Atari flags into tailor.h for consistency.
1220           Use memzero() to clear the hash table.
1221           Update vms/gzip.hlp to reflect the VMS behavior.
1222           Fix OS_CODE (to fit in a byte).
1223           Add utime.h for the Amiga.
1224           Add gcc support for the Amiga.
1225           Work around incorrect dirent.h for NeXT 2.0.
1226           Added Makefile entry for Coherent.
1227
1228 Fri Feb 22 11:20:49 1993  Jean-loup Gailly  (jloup@chorus.fr)
1229
1230         * version 1.0.4
1231           Added optimized asm version for 68020.
1232           Add support for DJGPP.
1233           Add support for the Atari ST.
1234           Added zforce to rename gzip'ed files with truncated names.
1235           Do not install with name uncompress (some systems rely on the
1236             absence of any check in the old uncompress).
1237           Added missing function (fcfree) in msdos/tailor.c
1238           Let gunzip handle .tgz files, and let gzip skip them.
1239           Added 'stty min 1' in zmore for SysV and fixed trap code.
1240           Suppress .PHONY in Makefile.in, which breaks old makes.
1241           Added documentation about pcat and unpack in INSTALL.
1242           Add cast to getenv for systems without stdlib.h.
1243           Use VAXC instead of VMS to avoid confusion for gcc.
1244           Add -K to znew.1.
1245           Add gzexe.1.
1246           Try preserving file permissions in gzexe.
1247           Added -d option for gzexe.
1248           Guard against spaces in file names in gzexe.
1249           Use CMP env. variable in zcmp.
1250           Return a warning exit status for gzip of file with .z suffix.
1251           Suppress usage of d_ino which is not portable to all systems.
1252           Use #ifdef instead of #if for consistency.
1253           For VMS, use "cc util.c" instead of "cc util" (pb with logical names)
1254           Added utime() for Amiga.
1255           Renamed gzcat.1 as zcat.1.
1256           Include fcntl.h for Amiga (for read and write).
1257           For VMS, add definition of symbols and links in the makefiles.
1258           Give a VMS look to vms/gzip.hlp.
1259           Save the original name only when necessary.
1260           Add a mode parameter for open in read mode (required by VMS).
1261           For VMS, remove the version suffix from the original name.
1262           Accept both / and \ as path separator for MSDOS.
1263           Let gunzip extract stored .zip files correctly.
1264           Added warning about VFC format in vms/gzip.hlp.
1265           In znew, skip a bad file but process the others.
1266           Cleanup tailor.h.
1267           Use GZIP_OPT for VMS to avoid conflict with program name.
1268           Added description of GZIP variable in gzip.texi.
1269
1270 Thu Feb 11 17:21:32 1993  Jean-loup Gailly  (jloup@chorus.fr)
1271
1272         * version 1.0.3
1273           Add -K option for znew to keep old .Z files if smaller.
1274           Add -q option (quiet) to cancel -v in GZIP env variable.
1275           For Turbo C, normalize pointers before freeing them.
1276           Add more safety checks in add_envopt().
1277           Add do_exit() for uniform exit path (always free memory).
1278           Reduce MAX_PATH_LEN for MSDOS.
1279           Include sys/types.h before signal.h
1280           Avoid strdup, the NeXT does not have it.
1281           Made gzexe safer on systems with filename limitation to 14 chars.
1282
1283 Fri Feb  10 09:45:49 1993  Jean-loup Gailly  (jloup@chorus.fr)
1284
1285         * version 1.0.2
1286           Added env variable GZIP for default options.
1287           Added support for the Amiga.
1288           znew now keeps the old .Z if it is smaller than the .z file.
1289           Added gzexe to compress rarely used executables.
1290           Reduce memory usage when using static allocation (no DYN_ALLOC).
1291           Better separation of warning and error return codes.
1292           Fix unlzw.c to make DYN_ALLOC and MAXSEG_64K independent options.
1293           Allow INBUFSIZ to be >= 32K in unlzw (don't use sign of rsize)
1294           Generate tar file in old format to avoid problems with old systems.
1295           Preserve time stamp in znew -P if touch -r works.
1296           Use ${PAGER-more} instead of ${PAGER:-more} in zmore.
1297           Do not use unsigned instead of mode_t.
1298           Better error message for trailing garbage in .z file; ignore this
1299            garbage on VMS.
1300           In zmore, use icanon instead of -cbreak on SYSV.
1301           Add trap handler in zmore.
1302           Use char* instead of void* for non STDC compilers.
1303           Added makefile entry for Xenix on 286.
1304           Return an error code when existing file was not overwritten.
1305           Use prototype of lzw.h for lzw.c.
1306           Fix znew with -P option alone.
1307           Give warning for directories even without -v.
1308           Close output file before unlink() in case of error.
1309           Suppress all target dependent ifdef from the portable files.
1310           Free all dynamically allocated variables upon exit.
1311
1312 Thu Feb 4 18:23:56 1993  Jean-loup Gailly  (jloup@chorus.fr)
1313
1314         * version 1.0.1
1315           Fixed some trivial errors in msdos/Makefile.bor
1316
1317 Thu Feb 4 10:00:59 1993  Jean-loup Gailly  (jloup@chorus.fr)
1318
1319         * version 1.0
1320           gzip now runs on Vax/VMS (Amiga support will come in next version).
1321           Do not overwrite files without -f when using /bin/sh.
1322           Support the test option -t for compressed (.Z) files.
1323           Flush output for bad compressed files. Add warning in README.
1324           Added makefiles for MSDOS.
1325           Don't rely on presence of csh in configure
1326           Added gunzip.1 and gzcat.1.
1327           Updated znew.1.
1328           Check reserved flags in unlzw().
1329           Return dummy value in main to avoid lint warning.
1330           Define OF in lzw.h for lint.
1331           Allow both "znew -v -t" and "znew -vt".
1332           Don't overwrite the output file name for multiple parts.
1333           Echo just a warning if configure is out of date.
1334           Use ; instead of , in trees.c (confuses the SAS Amiga compiler).
1335           In INSTALL, document "DEFS='-DM_XENIX' ./configure".
1336           Use OTHER_PATH_SEP for more portability (DOS, OS2, VMS, AMIGA).
1337           Make all directories world writable for broken versions of tar.
1338           Use gzip -cd instead of zcat in zmore, zcmp, zdiff.
1339           Don't use GNU tar for distributions, some systems can't untar.
1340           Do not exit() for gzip --version.
1341
1342 Mon Jan 26 10:26:42 1993  Jean-loup Gailly  (jloup@chorus.fr)
1343
1344         * Beta version 0.8.2
1345           Avoid 'far' declarations for MSDOS.
1346           Use test -f instead of test -x in configure.in (for Ultrix)
1347           Add empty else part to if in Makefile.in for broken shells.
1348           Use NO_UNDERLINE instead of UNDERLINE (pb with Linux cpp)
1349           Accept continuation files with -ff (for damage recovery)
1350           Small patch to Makefile.os2
1351           Use memzero instead of bzero to avoid potential conflicts
1352           Document restriction on extraction of zip files.
1353           Fix quoting in ACL_HAVE_SHELL_HACK.
1354           Do not check file size on MSDOS because of bug in DIET.
1355           Allow zcat on a file with multiple links.
1356           Add fix in inflate.c for compatibility with pkzip 2.04c.
1357           Release gzip in tar.z and tar format. (No tar.Z).
1358
1359 Fri Jan 22 10:04:13 1993  Jean-loup Gailly  (jloup@chorus.fr)
1360
1361         * Beta version 0.8.1
1362           Fixed Makefile.os2
1363           Fixed #if directives that TurboC does not like.
1364           Don't rely on uncompress in znew, use gzip -d.
1365           Add the pipe option -P in znew.
1366           Add some more ideas in TODO.
1367           Support both NDIR and SYSNDIR.
1368
1369 Sat Jan  21 15:46:38 1993  Jean-loup Gailly  (jloup@chorus.fr)
1370
1371         * Beta version 0.8
1372           Support unpack.
1373           Check for _match.o in configure.in in addition to return status.
1374           Include <sys/types.h> in zip.c
1375           Define local variables and functions as local.
1376           Accept more alternative names for the program (pcat, gzcat, ...).
1377           Accept .exe as well as .EXE.
1378           Uncompress files with multiple links only with -f.
1379           Better error message for gunzip of non-existent file.z.
1380           Fix the entry for /etc/magic in INSTALL.
1381           Use AC_HAVE_HEADERS uniformly instead of special macros.
1382           Install the man pages as .1 by default instead of .l.
1383           Document crypt++.el in README.
1384           Fix for unlzw() on 16-bit machines (bitmask must be unsigned).
1385           Complain if input and output files are identical.
1386           Create a correct output name for files of exactly 13 chars.
1387           Do not overwrite CPP if set
1388           Check for i386 before trying to assemble match.s
1389           Check for underline in external name before assembling
1390           Add patch for tar 1.11.1.
1391
1392 Mon Jan  5 10:16:24 1993  Jean-loup Gailly  (jloup@chorus.fr)
1393
1394         * Beta version 0.7
1395           Use "make check" instead of "make test".
1396           Do not rely on dirname in znew.
1397           Keep time stamp and pass options to gzip in znew.
1398           Rename .l files back to .1 to avoid conflict with lex
1399           Do not create .z.z files with gzip -r.
1400           Use nice_match in match.asm
1401           Unroll loops in deflate.c
1402           Do not attempt matches beyond the window end
1403           Allow again gunzip .zip files (was working in 0.5)
1404           Allow again compilation with TurboC 2.0 (was working in 0.4)
1405
1406 Tue Dec 30 20:00:19 1992  Jean-loup Gailly  (jloup@chorus.fr)
1407
1408         * Beta version 0.6
1409           The .z extension is used by pack, not compact (README, gzip.1)
1410           Accept gzcat in addition to zcat.
1411           Use PAGER in zmore if defined.
1412           Man pages for /usr/local/man/manl should have extension .l.
1413           Don't redefine bzero on the NeXT
1414           Allow incomplete Huffman table if there is only one code.
1415           Don't lookahead more than 7 bits (caused premature EOF).
1416           Added "make test" to check for compiler bugs.
1417           Don't rely on `i386`; try to assemble directly
1418           Change magic header to avoid conflict with freeze 1.x.
1419           Added entry for /etc/magic in INSTALL.
1420           Do not destroy an input .zip file with more than one member.
1421           Display "untested" instead of "OK" for gzip -t foo.Z
1422           With -t, skip stdin in .Z format
1423           Allow multiple compressed members in an input file.
1424           Ignore a zero time stamp.
1425           Made znew safer.
1426
1427 Tue Dec 29 10:00:19 1992   Noah Friedman  (friedman@gnu.ai.mit.edu)
1428
1429           Added test for #!/bin/sh in configure.in.
1430           Fix some references to $srcdir in Makefile.in
1431
1432 Mon Dec 21 17:33:35 1992  Jean-Loup Gailly  (jloup@chorus.fr)
1433
1434         * Beta version 0.5
1435           Put RCS ids in all files.
1436           Added znew to recompress old .Z files with gzip.
1437           Avoid "already .z suffix" messages for -r and no -v.
1438           Put back check for d_ino in treat_dir().
1439           Use HAVE_STRING_H instead of USG.
1440           Added os2/Makefile.os2
1441           Use SYSUTIME on OS/2.
1442           Info dir is $(prefix)/info, not $(prefix)/lib/info.
1443           Support long options, added getopt and alloca
1444           Support -V and -t
1445           Reorder configure.in according to suggestions in autoconf.info
1446           Allow links when not removing original file
1447           Allow either .z or .Z in zdiff
1448
1449 Wed Nov 25 11:40:04 1992  Jean-loup Gailly  (jloup@chorus.fr)
1450
1451         * Beta version 0.4.1
1452           Save only the original base name, don't include any directory prefix.
1453           Don't use HAVE_LONG_FILE_NAMES (support multiple file system types).
1454           Fix declaration of abort_gzip in gzip.h.
1455           Include unistd.h when it exists to avoid warnings with gcc -Wall.
1456
1457 Mon Nov 23 12:39:01 1992    Jean-loup Gailly  (jloup@chorus.fr)
1458
1459         * Beta version 0.4
1460           Lots of cleanup
1461           Use autoconf generated 'configure'
1462           Fixed the NO_MULTIPLE_DOTS code
1463           Fixed the save_orig_name code
1464           Support for MSDOS (Turbo C)
1465
1466 Thu Nov 19 15:18:22 1992    Jean-loup Gailly  (jloup@chorus.fr)
1467
1468         * Beta version 0.3
1469           Added auto configuration. Just type "make" now.
1470           Don't overwrite compress by default in "make install". Use
1471             "make install_compress" to overwrite.
1472           Add match.s for 386 boxes.
1473           Added documentation in texinfo format.
1474           Provide help for "gunzip" invoked without redirected input.
1475           Save original file name when necessary.
1476           Support OS/2 (Kai-Uwe Rommel).
1477
1478 Tue Nov 17 14:32:53 1992  Jean-loup Gailly  (jloup@chorus.fr)
1479
1480         * Alpha version 0.2.4
1481           Return 0 in get_istat() when ok (caused error with zcat).
1482           Don't update crc on compressed data (caused crc errors on
1483             large files).
1484
1485 Fri Nov 13 15:04:12 1992  Jean-loup Gailly  (jloup@chorus.fr)
1486
1487         * Alpha version 0.2.3
1488           Initialize rsize in unlzw.c
1489           Initialize ofd for zcat.
1490           Do not use volatile ifname as argument of treat_dir.
1491           Add -1 to -9 in gzip.1.
1492
1493 Sat Oct 31 18:30:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1494
1495         * Alpha version 0.2.2.
1496           Fix error messages.
1497           Accept gunzip on zip files.
1498
1499 Sat Oct 31 17:15:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1500
1501         * Alpha version 0.2.1
1502           Use ctype.h in util.c (problem on SysV).
1503           Create BINDIR if it does not exist.
1504           Use cc by default.
1505           Added zcmp, zmore, zdiff.
1506           Fixed the man page gzip.1.
1507
1508 Sat Oct 31 17:00:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1509
1510         * Alpha version 0.2
1511           Fixed compilation problems with gcc
1512
1513 Sat Oct 31 12:46:00 1992  Jean-loup Gailly  (jloup@chorus.fr)
1514
1515         * Alpha version 0.1 released (under time pressure), so it's not
1516           much tested, sorry.
1517
1518
1519         -----
1520
1521         Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2006 Free
1522         Software Foundation, Inc.
1523
1524         Copyright (C) 1992, 1993 Jean-loup Gailly
1525
1526         Copying and distribution of this file, with or without
1527         modification, are permitted provided the copyright notice
1528         and this notice are preserved.