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