+2006-12-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS, configure.ac (AC_INIT):
+ Version 1.3.9 released.
+
+ * Makefile.am (MOSTLYCLEANFILES): Add _match.i.
+
+ * bootstrap (gnulib_tool_options_extras): New var.
+ (gnulib_tool_options): Use it.
+ * bootstrap.conf (gnulib_tool_options_extras): Avoid getline and
+ rpmatch. gzip doesn't need them, since it doesn't ENABLE_NLS.
+
+2006-12-13 Bruno Haible <bruno@clisp.org>
+
+ * configure.ac: Use $CPPFLAGS everywhere $CPP is used, and use
+ $CPPFLAGS $CFLAGS everywhere $CC is used.
+ * lib/Makefile.am (match.$(OBJEXT)): Likewise.
+ * configure.ac: Test the exit code of the $CPP and $ASCPPPOST commands
+ separately.
+
+2006-12-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ * configure.ac (ASCPPPOST): Simplify to use just 'sed'.
+ * lib/Makefile.am (match.$(OBJEXT)): Check for CPP failure.
+
+2006-12-11 Bruno Haible <bruno@clisp.org>
+
+ Cross-compilation support.
+ * configure.ac (ASCPP): Remove substituted variable.
+ (ASCPPPOST, ASCPPFLAGS): New substituted variables.
+ * lib/Makefile.am (ASCPP, LN_S): Remove unnecessary macro definitions.
+ (match.$(OBJEXT)): Use CPP, ASCPPFLAGS, ASCPPPOST instead of ASCPP.
+ * configure.ac: Add test for chown function.
+ * gzip.c (treat_file) [!HAVE_CHOWN]: Don't call chown.
+ * gzip.c: Include "timespec.h". This doesn't fix any bugs, but
+ it is clearer.
+
+2006-12-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ The SSIZE_MAX fix didn't work on NSK, so fix it in a more-reliable
+ (albeit more-complicated) way. Problem reported by Matthew Woehlke.
+ * gzip.h (read_buffer): New decl.
+ * unlzw.c (unlzw): Use read_buffer rather than read.
+ * zip.c (file_read): Likewise.
+ * util.c (copy, fill_inbuf): Likewise.
+ (read_buffer, write_buffer): New functions.
+ (write_buf): Use write_buffer rather than write.
+
+ Undo the previous SSIZE_MAX-related change; it didn't work.
+ * gzip.c: Include <limits.h>.
+ * util.c: Likewise.
+ * gzip.h: Don't include <limits.h>.
+ (INBUFSIZ): Don't worry about SSIZE_MAX here.
+
+2006-12-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS, configure.ac (AC_INIT):
+ Version 1.3.8 released.
+
+ * gzexe.in (mktemp_status): New var, used to see whether
+ mktemp is a known command. Use this instead of confounding
+ mktemp's existence with its success.
+
+ * zdiff.in: Remove first line containing ":". This follows
+ up on the SEDCMD fix of 2006-12-01.
+ * zforce.in: Likewise.
+ * zgrep.in: Likewise.
+ * zless.in: Likewise.
+ * zmore.in: Likewise.
+ * znew.in: Likewise.
+
+ Fix problems in porting to NSK reported by Matthew Woehlke in
+ <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00025.html> and
+ <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00027.html>.
+ * gzip.h: Include <limits.h>, for SSIZE_MAX.
+ (INBUFSIZE): Don't make it any larger than SSIZE_MAX.
+ Problem reported by Matthew Woehlke in
+ <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
+ * gzip.c: Don't include <limits.h>, as gzip.h now does this.
+ * util.c: Likewise.
+ * gzip.c (main): Set exiting_signal before installing signal handlers.
+ (install_signal_handlers): Don't set exiting_signal here. This
+ fixes a C99ism.
+ * zip.c: Include timespec.h, for time_stamp type.
+
+2006-12-08 Ralf Wildenhues <Ralf.Wildenhues@gmx.de> (tiny change)
+
+ * gzexe.in: Work around FreeBSD shell trap bug.
+ * gzip.1: Fix typo.
+ * doc/gzip.texi: Likewise.
+
+2006-12-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ * .cvsignore: Add .deps, gzexe, gzip, zdiff, zforce, zgrep,
+ zless, zmore, znew.
+ * doc/.cvsignore: Add Makefile.
+ * lib/.cvsignore: Add .deps, Makefile, alloca.h, config.h, fcntl.h,
+ stamp-h1, stdint.h, sys.
+
+ * configure.ac (for assembler): Set ASFLAGS_config to
+ -Wa,--noexecstack if this seems advisable on this platform.
+ Problem reported by Mike Frysinger in
+ <http://lists.gnu.org/archive/html/bug-gzip/2006-12/msg00018.html>.
+ * lib/Makefile.am (match.$(OBJEXT)): Use ASFLAGS_config.
+
+2006-12-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ * Makefile.am (install-exec-hook): Fix bug when installing
+ symbolic links as aliases. Problem reported by Mike Frysinger.
+
+ * deflate.c (deflate_fast, deflate): Avoid core dump. Problem
+ originally reported by Jochen Friedrich and trivial patch supplied
+ by Anthony Towns; see <http://bugs.debian.org/184057>.
+
+2006-12-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS, configure.ac (AC_INIT):
+ Version 1.3.7 released.
+
+2006-12-06 Bruno Haible <bruno@clisp.org> (tiny change)
+ and Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix build failure on case-insensitive file systems.
+ * configure.ac: Use match_.s instead of _match.s.
+ * Makefile.am (MOSTLYCLEANFILES): Likewise.
+ * lib/Makefile.am (match.$(OBJEXT)): Likewise.
+ (MOSTLYCLEANFILES): Likewise.
+
+2006-12-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Document the fixes below.
+ * configure.ac (AC_CHECK_FUNCS_ONCE): Add siginterrupt.
+ * gzip.c (lstat) [!defined(HAVE_LSTAT) && !defined(lstat)]: Remove.
+ (SA_NOCLDSTOP, sigprocmask, sigset_t) [!defined SA_NOCLDSTOP]:
+ New macros.
+ (siginterrupt) [!defined SA_NOCLDSTOP && ! HAVE_SIGINTERRUPT]:
+ New macro.
+ (HAVE_WORKING_O_NOFOLLOW): Define to 0 if not defined.
+ (caught_signals, exiting_signal, remove_ofname_fd): New vars.
+ (remove_ofname): Remove; all uses changed to remove_ofname_fd.
+ (same_file, name_too_long): Remove.
+ (install_signal_handlers): New function. It prefers sigaction,
+ which is more reliable in the presence of race conditions.
+ Catch SIGXCPU and SIGXFSZ, too.
+ (main): Use it instead of installing them by hand.
+ (treat_file): Check for read error when closing ifd.
+ (treat_file, create_outfile, remove_output_file):
+ Avoid race conditions with signals.
+ (create_outfile, check_ofname): Remove most of the gorp about
+ working around ENAMETOOLONG deficiencies. It's obsolete now, and
+ anyway it had race conditions. Just rely on O_EXCL and
+ ENAMETOOLONG. The worst that can happen is that a file name will
+ be silently truncated on an obsolete machine, but no data will be lost.
+ (open_and_stat): Use HAVE_WORKING_O_NOFOLLOW rather than O_NOFOLLOW
+ to work around some O_NOFOLLOW bugs. Otherwise, fall back on
+ lstat only if lstat is available, as symlinks don't exist otherwise.
+ (open_input_file): Use O_NONBLOCK and O_NOCTTY too, to avoid
+ hanging gzip on special files.
+ (abort_gzip_signal): If sigaction is not available, ignore
+ signals. If we get the exiting signal, exit with ERROR status
+ rather than raising a signal.
+ * tailor.h (NO_ST_INO): Remove; no longer used now that same_file
+ is gone.
+
+2006-12-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ Port to Tandem NSK/OSS, which lacks fchdir. Problem reported by
+ Matthew Woehlke in
+ <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00013.html>.
+ * bootstrap.conf (gnulib_modules): Remove openat, as it pulls in
+ fchdir.
+ * configure.ac: Check for fdopendir.
+ * gzip.c: Don't include openat.h; no longer needed.
+ (treat_dir) [!HAVE_FDOPENDIR]: Fall back on the old opendir method
+ since fdopendir is not available.
+
+2006-12-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS: Describe the following change briefly.
+ * bootstrap.conf (gnulib_modules): Remove stat-macros; no longer
+ needed.
+ * gzip.c: Don't include stat-macros.h; no longer needed.
+ (treat_file): Refuse to compress files that are setuid, or setgid,
+ as this can in theory lead to security holes. Also, refuse to
+ compress files with the sticky bit set, on general principle.
+ (copy_stat): Don't copy the setuid, setgid, or sticky bits,
+ as (given the above change) they'll always be zero here.
+ Invoke chmod before chown, to close a race condition.
+
+ * .cvsignore: Add *.doc, build-aux.
+ * doc/.cvignore: New file.
+ * lib/.cvsignore: New file.
+ * m4/.cvsignore: New file.
+
+2006-12-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * doc/gzip.texi (Overview): Mention limits of gzip format's
+ time stamps. Also, gzip doesn't always preserve time stamps.
+
+ * gzip.c (abort_gzip_signal): Don't call abort () as a "safeguard",
+ since it actually causes a core dump. Problem reported by
+ Jakub Bogusz.
+
+ * NEWS: Describe gzexe changes noted below.
+ * Makefile.am (.in): Don't bother with SEDCMD. This stuff isn't needed
+ any more (the hosts it caters to are long extinct), and was
+ questionable anyway since the code assumes the skip= line was line 2.
+ * configure.ac (AC_SYS_INTERPRETER, SEDCMD): Remove; no longer needed.
+
+ * gzexe.in: Sweep the code and fix some bugs.
+ My, what sharp teeth you have, gzexe!
+ The straw that broke this camel's back was Matthew Burgess's bug report
+ <http://lists.gnu.org/archive/html/bug-gzip/2006-11/msg00012.html>.
+
+ (IFS): Set it to the standard value, both here and in the
+ script gzexe generates.
+ Check for missing operand after parsing options, not before.
+ This fixes the case for "cpexe --".
+ Check for tail -n problem separately in gzexe and in the executable
+ it generates, in case it's a different 'tail'.
+ (trap): Remove $tmp only if $tmp is not the empty string.
+ Preserve exit status.
+ Don't use the nonstandard (and rarely available) "cpmod" utility.
+ Don't use "set -C"; it's no longer useful and it breaks things
+ in some cases.
+ (main loop): Handle file names beginning with "-".
+ Exit with status of failing program, not with 1.
+ Fix some bugs in printing diagnostics, and in quoting.
+ Require the skip= line to have at least one digit.
+ Use test -u and test -g rather than using the (less-reliable) ls.
+ Refuse to compress more programs, e.g., sh.
+ Use mktemp rather than tempfile. Build a copy of
+ the compressed or uncompressed executable in the same
+ directory as the executable, as that's less likely to go wrong
+ if disk space is low. Have the executable exit with status 127,
+ not 1, if the decompression process fails; this is more compatible
+ with meta-programs like nohup. Have the executable
+ uncompress to a temp file with the same basename as the executable;
+ this is more likely to go right. Fix a race condition where the
+ executable temporarily did not exist (in either old or new forms).
+ Check for race conditions better when mv fails. Do not attempt
+ to use cp to do the real work, only to copy permissions to a temp
+ file, since we don't want to trash running executables.
+
+2006-11-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ * inflate.c (inflate_dynamic, inflate): Don't send output to
+ stderr unless DEBUG is defined and 'verbose'. Problem reported by
+ Santiago Vila.
+
+ * zgrep.in: If the file name contains newline, &, \, or |, escape
+ the character so that 'sed' doesn't mishandle it as a replacement.
+ Problem reported by Bdale Garbee.
+
+2006-11-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ * gzip.1 (OPTIONS): ouput -> output. Problem reported by Matt
+ Taggart.
+ * vms/gzip.hlp: Likewise.
+
+ * Makefile.am (FILES_TO_CHECK): New macro.
+ (check-local): Check only the files in FILES_TO_CHECK, since some
+ files under the working directory might be mutating as the test is
+ run, e.g., with "make check >log". Problem reported by Jim
+ Meyering.
+
+2006-11-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ * NEWS, configure.ac (AC_INIT):
+ Version 1.3.6 released.
+
+ * NEWS: Describe 1.3.6's changes.
+ * NEWS, README, README-alpha, TODO: Change from GPL to FDL.
+ * .cvsignore, README-cvs, bootstrap, bootstrap.conf: New files.
+ * doc/Makefile.am, lib/Makefile.am: New files.
+ * THANKS: Change own email address to cs.ucla.edu. Add Sverre Jarp.
+ * TODO: Add new tasks to remove porting cruft and
+ all those buggy scripts.
+
+ * configure.ac: Renamed from configure.in.
+ (AC_PREREQ): Bump to 2.60.
+ (AC_INIT): Bump version to 1.3.6.
+ (AC_CONFIG_AUX_DIR): New.
+ (AC_CONFIG_HEADERS): Move config.h to lib.
+ Input is now lib/config.hin.
+ (AM_INIT_AUTOMAKE): Add gnits, dist-shar.
+ (AC_PROG_CC_STDC): New, replacing AC_PROG_CC.
+ (AM_PROG_CC_C_O, AC_PROG_RANLIB): New.
+ (AC_AIX, AC_GNU_SOURCE, AC_MINIX): Remove; gnulib does them now.
+ (gl_EARLY, gl_INIT): New.
+ match.c was moved to lib/match.c.
+ (AC_CHECK_HEADERS_ONCE): Replace AC_CHECK_HEADERS. Don't check
+ for sys/utime.h or utime.h.
+ (AC_CHECK_FUNCS_ONCE): Replace AC_CHECK_FUNCS. Check for fchmod
+ and fchown, not utime.
+ (AC_REPLACE_FUNCS): Remove; rpmatch is now done by gnulib.
+ (AC_CONFIG_FILES): Add doc/Makefile, lib/Makefile.
+
+ * bits.c: Use the more-usual form for copyright notices in source code.
+ * deflate.c: Likewise.
+ * gzip.c: Likewise.
+ * gzip.h: Likewise.
+ * inflate.c: Likewise.
+ * lzw.h: Likewise.
+ * revision.h: Likewise.
+ * tailor.h: Likewise.
+ * trees.c: Likewise.
+ * unpack.c: Likewise.
+ * unzip.c: Likewise.
+ * util.c: Likewise.
+ * crypt.c (dummy): Add decl so that pedantic compilers won't
+ complain about an empty file.
+ * gzip.c (license_msg): Use more-modern wording.
+ Include fcntl-safer.h, openat.h, stat-macros.h, stat-time.h.
+ Simply include <dirent.h> if !NO_DIR, removing a rats-nest of
+ #ifdefs.
+ Simply include <utimens.h> if !defined NO_UTIME, removing a
+ another rats-nest of #ifdefs.
+ (DIR_OPT, TIME_OPT): Remove.
+ (_D_EXACT_NAMLEN): Renamed from NAMLEN. All uses changed.
+ (S_ISDIR, S_ISREG, O_BINARY, O_CREAT, O_EXCL, S_IRUSR, S_IWUSR):
+ Remove; gnulib now does this.
+ (RETSIGTYPE): Remove; Autoconf does this.
+ (program_name): Renamed from progname, for compatibility with gnulib.
+ All uses changed.
+ (time_stamp): Now struct timespec, not time_t. All uses changd.
+ (remove_oftime): Now volatile.
+ (reset_times): Remove; now done by futimens.
+ (usage): Remove.
+ (try_help): New function.
+ (help, license): Don't output date as part of version.
+ A version number suffices.
+ (help): Redo help message to match style of coreutils etc.
+ (version): Don't bother printing compile-time configuration info
+ like STDC_HEADERS.
+ (main): Don't assume strlen (argv[0]) < INT_MAX (!).
+ On usage errors, suggest --help without outputting all the help.
+ (main, do_list): Remove unnecessary casts.
+ (treat_stdin, treat_file, get_method, copy_stat):
+ Support sub-second time stamp resolution.
+ (treat_file, copy_istat): Close some race conditions if files are
+ renamed as we read or write them.
+ (treat_file): Do not attempt to reset the access times of
+ directories that we read.
+ (open_and_stat, open_input_file): New functions.
+ (do_stat, get_istat): Remove; most of the contents went to these new
+ functions.
+ (make_ofname): Don't use WARN, as it affects exit status.
+ (get_method): When the original file name was truncated,
+ restore from its base name, not from its full name.
+ (do_list): Avoid undefined behavior with out-of-range time stamps.
+ ctime, for example, cannot be invoked on arbitrary time stamps safely,
+ since it might overrun an internal buffer. Do not assume that
+ localtime succeeds.
+ (copy_stat): Do not remove input file; that's now the caller's
+ responsibility. This avoids a problem if there is a write error
+ when the caller closes the output file.
+ (treat_dir): New arg FD, to avoid a race condition. All uses changed.
+ (remove_output_file): New function.
+ (abort_gzip): Use it.
+ (abort_gzip_signal): New function, which is async-signal-safe.
+ Exit with the signal that we got.
+ * gzip.h (program_name, time_stamp, abort_gzip): Adjust decls to
+ match gzip.c changes.
+ * inflate.c (huft_build): Return 2 if null input.
+ * tailor.h (HAVE_UTIME): Do not define; gnulib does this now.
+ (OPEN): Use open_safer, not plain open.
+ * unlzh.c (NPT): Set to 1<<TBIT, not to the maximum of NT and NP.
+ (make_table): Report an error if 1<<tablebits < nextcode.
+ (read_pt_len): Report an error if 16 < c.
+ * unpack.c (read_tree): Report an error if the tree has too many
+ leaves while reading it. Fix off-by-one error in final check.
+ * util.c: Include <xalloc.h>, for xalloc_die decl.
+ (gzip_base_name): Renamed from base_name, so we don't collide
+ with gnulib. All uses changed.
+ (add_envopt): Use xstrdup instead of xmalloc+strcpy.
+ Use xcalloc rather than calloc + check.
+ (gzip_error): Renamed from error, so we don't collide with gnulib.
+ All uses changed.
+ (xalloc_die): New function.
+ (xmalloc): Remove; no longer needed.
+ * zip.c (zip): Watch for time stamp overflow; the old code
+ mishandled negative time stamps.
+
+ * gzexe.in: Add support for --help, --version, --.
+ Don't call basename or sed if we can avoid it.
+ * zdiff.in: Likewise.
+ * zforce.in: Likewise.
+ * zgrep.in: Likewise.
+ * zless.in: Likewise.
+ * zmore.in: Likewise.
+ * znew.in: Likewise.
+ * zdiff.in: Protect against file names beginning with "-".
+ * zmore.in: Likewise.
+ * zgrep.in: Use printf rather than echo, to avoid problems with
+ leading "-" and backslash. Return status of subsidiary grep.
+ * zless.in: Add copyright notice.
+
+ * zless.1: We now pass "--" to LESSOPEN.
+ (BUGS): Mention that input file arguments are required.
+ Add copyright notice.
+
+ * COPYING: Update to current version.
+
+ * Makefile.am (SUBDIRS): New macro.
+ (AUTOMAKE_OPTIONS): Remove; now done in configure.ac.
+ (M4DIR, ACINCLUDE_INPUTS): Remove.
+ (EXTRA_DIST): Remove getopt.h.
+ (gzip_SOURCES): Remove getopt.c, getopt1.c, yesno.c.
+ (gzip_LDADD): Change from @LIBOBJS@ to lib/libgzip.a.
+ (AM_MAKEINFOFLAGS, info_TEXINFOS, gzip_TEXINFOS, ASCPP, LN_S):
+ (match.$(OBJEXT)): Move to subdirectory makefiles.
+ (.in): Substitute @VERSION@, too.
+ (check-local): New rule.
+ (MOSTLYCLEANFILES): Add _match.S.
+
+ * doc/gzip.texi: Renamed from gzip.texi. Change to GNU FDL
+ without invariant sections or cover texts. Don't put
+ version number or date into sample gzip -h output.
+ * lib/match.c: Renamed from match.c. Add ia64 version
+ written by Sverre Jarp (HP Labs).
+
+ * INSTALL: Remove from CVS; now created automatically by
+ the bootstrap script.
+ * Makefile.in: Likewise.
+ * aclocal.m4: Likewise.
+ * config.h.in: Likewise.
+ * configure: Likewise.
+ * depcomp: Likewise.
+ * fdl.texi: Likewise.
+ * getopt.c: Likewise.
+ * getopt.h: Likewise.
+ * getopt1.c: Likewise.
+ * gzip.doc: Likewise.
+ * gzip.info: Likewise.
+ * install-sh: Likewise.
+ * mdate-sh: Likewise.
+ * missing: Likewise.
+ * mkinstalldirs: Likewise.
+ * rpmatch.c: Likewise.
+ * stamp-vti: Likewise.
+ * texinfo.tex: Likewise.
+ * version.texi: Likewise.
+ * yesno.c: Likewise.
+
+2002-09-30 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
+ Revision 1.3.5, dated today.
+
+ * util.c (fprint_off): Fix bug in printing values greater than
+ 10 * 2**32 bytes. Bug reported by Bryan Andersen.
+
+ * Makefile.am (match.$(OBJEXT)): Use .S as extension for $(ASCPP),
+ to keep gcc happy.
+ * configure.in: Likewise.
+ Upgrade assembly-language checking for Autoconf 2.54, using cache vars.
+ (AC_PROG_CPP, AC_OBJEXT): Add.
+
+ * match.c: Accept __i386 and __i386__ as synonyms for i386.
+ Bug reported by "fork __" <bouloumag@hotmail.com>.
+
+2002-09-29 Paul Eggert <eggert@twinsun.com>
+
+ * gzip.texi (Overview): Suggest how to use gunzip on zip files.
+
+ * zless.1, zless.in: Use LESSOPEN, not PAGER.
+ Suggested by <antos@MAST.queensu.ca>.
+
+2002-09-28 Paul Eggert <eggert@twinsun.com>
+
+ * zforce.in: Use shell pattern matching instead of 'expr', which
+ mishandles names like "+". Remove old check for 14-byte file
+ names on hosts with broken "mv" implementations, as such systems
+ aren't in use any more and it's better nowadays to support file
+ names longer than 14 bytes. Rely on "mv"'s error-reporting.
+ This fixes a portability bug reported by Ralf Neubauer, along
+ with some other bugs.
+
+ Remove dangling output symlinks properly.
+ Bug reported by Kalle Olavi Niemitalo.
+ * gzip.c (lstat): New macro, for platforms lacking lstat.
+ (do_stat): Use it.
+ (name_too_long, check_ofname): Use lstat instead of stat.
+
+2002-09-27 Paul Eggert <eggert@twinsun.com>
+
+ * zforce.in: Use "gzip -lv", not "gzip -v". Patch by Ralf
+ Neubauer.
+
+ * configure.in (ASCPP): Don't use test -a, as POSIX says it's
+ not portable.
+ * znew.in: Likewise.
+ * zmore.in: Likewise. Similarly, don't use test -o, or test -t
+ with no operand.
+
+ * gzexe.in (PATH): Set to same as other programs.
+ Don't assume "tail +22" works; POSIX removed this.
+ Check against compressing "tail".
+ Check against "skip=" line with no integer.
+ * zgrep.in: Exit with status 2 if trouble, for consistency with grep.
+
+ * gzip.c (main): Avoid core dump in diagnostic message if
+ incorrect suffix is given.
+
+2002-09-26 Paul Eggert <eggert@twinsun.com>
+
+ * zdiff.in: Use "trap -" instead of "trap". Patch by Nicolas Boullis.
+ Use names, not numbers, for signals. Patch by Andrew Stribblehill.
+
+ * NEWS, README, revision.h, configure.in (AM_INIT_AUTOMAKE):
+ Revision 1.3.4, dated today.
+
+ * README-alpha: Upgrade to Autoconf 2.54 and Automake 1.7.
+ * configure.in (AC_PREREQ): Move to start, and increase to 2.54.
+ (AC_INIT, AM_INIT_AUTOMAKE, AC_CONFIG_SRCDIR, AC_CONFIG_FILES,
+ AC_OUTPUT): Use modern style.
+ (AC_OBJEXT, AC_EXEEXT): Remove; obsolete.
+ (AC_GNU_SOURCE): Add.
+ (AC_HEADER_STDC): Renamed from AC_STDC_HEADERS.
+ (AC_CHECK_HEADERS): Remove stdlib.h, string.h, unistd.h; now done
+ by Autoconf.
+ (AC_SUBST): Remove CFLAGS; now done by Autoconf.
+
+ * gzip.texi: Use the GNU FDL for distribution terms, following the
+ recipe in the Texinfo manual. Use Automake-generated variables
+ for date and version.
+ * fdl.texi, mdate-sh: New files.
+ * Makefile.am (AM_MAKEINFOFLAGS): Add --no-split.
+ (gzip_TEXINFOS): New macro.
+
+ * tailor.h (NO_DIR): Define to 1, not the empty string.
+ * gzip.c (NO_DIR): Define to 0 if not defined. All uses changed.
+ (usage): Don't put '#if' inside printf, as the C standard says
+ that it is not portable if printf is a macro.
+
+ Don't lose output when decompressing truncated input.
+ Bug reported by Nadav Har'El.
+ * inflate.c (GETBYTE): New macro.
+ (NEXTBYTE): Use it.
+ (inflate_dynamic, inflate_block): Add a local variable w, needed
+ by GETBYTE.
+
+2002-03-08 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h, gzip.texi,
+ configure.in (AM_INIT_AUTOMAKE): Revision 1.3.3, dated today.
+
+ * README-alpha: Now using latest stable GNU tools.
+ Using the latest tools allows gzip to build correctly on hosts
+ conforming to POSIX 1003.1-2001.
+
+ * configure.in (match): Use AC_LIBOBJ; Autoconf 2.53 requires it.
+ (LIBOBJS): No longer need to subst, since AC_LIBOBJ does it.
+ (AC_PREREQ): Bump to 2.53.
+
+ * Makefile.am (install-exec-hook, remove-installed-links):
+ Work even when configured with --program-transform-name.
+
+ * gzip.c (license_msg): Update copyright.
+ (z_len): Now of type size_t.
+
+2001-11-03 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
+ Revision 1.3.2, dated today.
+
+ * Makefile.am (LN_S): New macro.
+ (install-exec-hook): Depend on remove-installed-links.
+ Affect $(DESTDIR)$(bindir), not just $(bindir).
+ (uninstall-local, remove-installed-links): New rules.
+ * README-alpha: This release built with autoconf 2.52f.
+ * TODO: Add rsync patch.
+ * configure.in: Add AC_PREREQ(2.52) and AC_PROG_LN_S.
+ * gzip.1, zmore.1: Fix troff glitches, using Eric S. Raymond's
+ suggestions for inspiration.
+ * m4/shell.m4(AC_PROG_SHELL): Add commentary and cleanup.
+
+ * gzip.texi, gzip.1: Add pointers to RFCs 1951 and 1952.
+ Mention that gzip --list reports file sizes modulo 2^32.
+ * gzip.1: Remove incorrect report of 2 GB bug. Add copyright notice.
+
+2001-09-30 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h, gzip.texi, configure.in (AM_INIT_AUTOMAKE):
+ Revision 1.3.1, dated today.
+
+ * INSTALL, getopt.c, getopt.h, getopt1.c, install-sh, missing,
+ mkinstalldirs, texinfo.tex:
+ Sync with latest version in other packages.
+
+ * acinclude.m4, config.guess, config.sub: Remove.
+ * depcomp, rpmatch.c, yesno.c: New files.
+
+ * ChangeLog, README, NEWS, TODO, configure.in, zgrep.in, zmore.in:
+ Add copyright notice.
+
+ * Makefile.am (ACLOCAL_AMFLAGS): New macro.
+ (ACINCLUDE_INPUTS): Remove all but shell.m4.
+ ($(srcdir)/acinclude.m4): Remove.
+ (gzip_sources): Add yesno.c.
+
+ * TODO: Add i18n.
+
+ * configure.in (AC_CANONICAL_HOST): Remove.
+ (AC_AIX, AC_MINIX): Move earlier.
+ (AC_REPLACE_FUNCS): Add rpmatch.
+
+ * gzip.c (main):
+ Report error if -b operand is not a nonnegative integer.
+ (treat_file): Don't assume tab width is 8, or that characters are
+ one column wide.
+ (make_ofname): Use WARN to warn about unchanged files.
+ (get_method): "get newer version of gzip" -> "not supported"
+ (check_ofname): Use yesno instead of checking for 'y' ourselves.
+ (treat_file): Do not assume link count fits in int.
+
+ * gzip.h (yesno): New decl.
+
+ * util.c (display_ratio): Use floating point to compute ratio:
+ this avoids problems with integer overflow.
+
+ * zgrep.in: Add support for --, -H, -h, -L, -l, -C, -d, -m and
+ their long equivalents. Warn that -r and -d are not supported.
+
+ * zmore.in:
+ Check that file is readable before attempting to decompress it.
+
+2000-10-09 Paul Eggert <eggert@twinsun.com>
+
+ * configure.in (AC_CHECK_FUNCS): Add lstat.
+
+2000-07-20 Paul Eggert <eggert@twinsun.com>
+
+ Use a POSIX-compliant shell instead of /bin/sh.
+ Idea suggested by Albert Chin-A-Young <china@thewrittenword.com>.
+
+ * m4/shell.m4: New file.
+ * configure.in (AC_PROG_SHELL): Add it.
+ * Makefile.am (ACINCLUDE_INPUTS): Add $(M4DIR)/shell.m4.
+ (.in): Replace /bin/sh with $(SHELL).
+
+2000-04-17 Bruno Haible <haible@clisp.cons.org>
+
+ * Makefile.am (install-exec-hook): If hard links fail, try symlinks.
+
+2000-04-02 Jim Meyering <meyering@ascend.com>
+
+ * Makefile.am (install-exec-hook): Remove link targets before
+ installing.
+
+2000-01-02 Albert Chin-A-Young <china@thewrittenword.com>
+
+ * gzip.texi: Add direntry.
+
+1999-12-21 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h, gzip.texi: Revision 1.3, dated today.
+ * gzip.c (license_msg, usage, version, help, license):
+ Adjust to current GNU coding standards.
+ (total_in, total_out): Remove unnecessary initialization.
+ * zip.c (file_read): Report read errors.
+ * util.c (fill_inbuf): Likewise.
+ * gzip.c (main): Don't assume EOF == -1.
+ * unlzw.c (unlzw): Likewise.
+ * util.c (copy, fill_inbuf): Likewise.
+
+1999-11-18 Paul Eggert <eggert@twinsun.com>
+
+ * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS):
+ Work around a bug in the QNX shell, which doesn't
+ propagate exit status of failed commands inside shell assignments.
+
+1999-10-07 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h, gzip.texi:
+ Revision 1.2.4294967306 dated today. This is the successor to
+ revision 1.2.4.4294967305; automake requires the new (shorter) number.
+
+ Convert to automake.
+
+ * Makefile.am, gunzip.1, zcat.1, zcmp.1, AUTHORS: New files.
+
+ * revision.h (VERSION): Remove; moved to config.h.
+
+ * configure.in (AM_INIT_AUTOMAKE, AM_CONFIG_HEADER,
+ AC_CANONICAL_HOST, AC_OBJEXT): Add.
+ (AC_PROG_CPP): Remove.
+ (AC_SYS_LARGEFILE): Add, replacing older inline code.
+ (ASCPP): Use $OBJEXT.
+ (LIBOBJS): Add match.o if needed.
+ (AC_PROG_INSTALL): Remove.
+ (AC_EXT, AC_C_CONST): Add.
+ (AC_CHECK_HEADERS): Add, replacing lots of AC_HEADER_CHECKs.
+ All instances of defined(NO_TIME_H) changed to !defined(HAVE_TIME_H),
+ etc.
+ (AC_CHECK_FUNCS): Add utime.
+ (SEDCMD): Use $interpval, not $ac_cv_sys_interpreter.
+ (AC_PREFIX_PROGRAM): Add, replacing AC_PREFIX.
+ (ZCAT, G): Remove.
+ (LIBOBJS): Add.
+ (OBJA): Remove; LIBOBJS now does this.
+
+ * bits.c, gzip.c, deflate.c, inflate.c, lzw.c, trees.c, unlzh.c,
+ unlzw.c, unpack.c, unzip.c, util.c, zip.c: Include <config.h>
+ first; this is needed for proper large-file support, given the new
+ way of configuring large files.
+
+ * gzip.c: Include <sys/types.h>; Ultrix needs this.
+ (TIME_OPT): Use STRUCT_UTIMBUF instead of empty string.
+ (help): Add bug-report address.
+ (do_stat): Depend on HAVE_LSTAT, not S_IFLNK, S_ISLNK, and NO_SYMLINK.
+
+1999-06-25 Paul Eggert <eggert@twinsun.com>
+
+ * inflate.c (huft_build):
+ Set n to length of v, to detect improper tables.
+ Don't accidentally grow j past z.
+
+1999-06-24 Paul Eggert <eggert@twinsun.com>
+
+ * Makefile.in (check): Update texinfo.tex size.
+
+ * configure.in (ASMV):
+ Define with AC_DEFINE; do not manipulate DEFS directly,
+ as this doesn't work with recent autoconf versions.
+
+1999-02-06 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h, gzip.texi: Revision 1.2.4.4294967305,
+ dated today. This merges the changes from gzip 1.2.4a, which fix
+ some typographical errors in the documentation and update the
+ bug-reporting address.
+
+1999-01-27 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h (VERSION, REVDATE):
+ Revision 1.2.4.4294967304, dated today.
+
+ Port to autoconf 2.13.
+
+ * Makefile.in (next, next-fat, coherent):
+ Update dirent headers to match Autoconf 2.13.
+ * configure.in (AC_RETSIGTYP): Remove; superseded by AC_TYPE_SIGNAL.
+ (AC_DYNIX_SEQ, AC_XENIX_DIR, AC_DIR_HEADER): Remove; superseded by
+ AC_HEADER_DIRENT.
+ * tailor.h (HAVE_DIRENT_H, HAVE_SYS_DIR_H):
+ Define instad of DIRENT, SYSDIR.
+ * gzip.c (NAMLEN): Renamed from NLENGTH. Depend on Autoconf 2.13 names
+ HAVE_DIRENT_H, HAVE_SYS_NDIR_H, HAVE_SYS_DIR_H, HAVE_NDIR_H
+ instead of the oldfashioned names DIRENT, SYSDIR, SYSNDIR, NDIR.
+ (CLOSEDIR): New macro.
+ (progerror): New function.
+ (treat_stdin, treat_file, creat_outfile, get_istat, check_ofname,
+ treat_dir): Use it, for brevity.
+ (treat_dir): Report any I/O errors when reading directories.
+
+ * COPYING, INSTALL, doc/texinfo.tex, install-sh:
+ Update to latest public versions.
+
+1998-11-18 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h (VERSION, REVDATE):
+ Revision 1.2.4.4294967303, dated today.
+
+ * gzip.c (get_method): Don't complain about trailing zeros at
+ the end of a gzipped file, as they're commonly appended to fill
+ out a block (e.g. by GNU tar).
+
+ * configure.in (CPPFLAGS, LDFLAGS, LIBS): Add large-file support
+ for HP-UX 10.20 and later.
+
+ * getopt.c, getopt.h, texinfo.tex: Sync with latest version at gnu.org.
+ * getopt1.c: New file.
+ * Makefile.in (SRCS): Add getopt1.c.
+ (OBJS): Add getopt1$O.
+ (getopt1$O): New dependency.
+ (check): Adjust desired size of compressed texinfo.tex to 55637,
+ to reflect the 1998-11-13 edition of texinfo.tex.
+
+ * gpl.texinfo: Remove; its addresses were out of date and
+ these days the GPL isn't reprinted in manuals anyway.
+ * gzip.texi: Remove reference to gpl.texinfo.
+ * Makefile.in (GENFILES): Remove gpl.texinfo.
+
+1998-11-13 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h (VERSION, REVDATE):
+ Revision 1.2.4.4294967302, dated today.
+
+ * gzip.c (input_eof): New function.
+ (treat_stdin, treat_file): Use it to fix premature detection of EOF
+ bug when a gzipped file concatenation boundary is at a multiple of
+ INBUFSIZ.
+
+ * Makefile.in (installman): Fix bug when installing from subdirectory.
+ ($(srcdir)/gzip.info): Renamed from gzip.info.
+ ($(srcdir)/gzip.info, realclean): Do not split gzip.info.
+
+1998-10-26 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h (VERSION, REVDATE):
+ Revision 1.2.4.4294967301, dated today.
+
+ * TODO: Update bug reporting address.
+
+ * Makefile.in (datadir, libdir): Remove unused macros.
+ (mandir): Let configure set it.
+ (manextdir): New macro.
+ (alldirs): Remove datadir, libdir; add manextdir.
+ (TEXI2HTML): New macro.
+ (installman, uninstall): Install into manextdir, not mandir.
+ (install-strip): New rule.
+ (installdirs): No need to build $(prefix)/man separately,
+ as it's now in alldirs.
+ (match$O): Compile with $(CFLAGS).
+ (gzip_1.html): New rule.
+
+ * gzip.c (get_istat): Remove lint by initializing z_suffix_errno.
+ (check_ofname): Do not assume unsigned char.
+
+ * util.c (strlwr): Don't assume char is unsigned.
+ (warning): Renamed from `warn'.
+
+ * gzip.h (tolow): Use tolower instead of relying on 'A'-'a'.
+ (warning): Renamed from warn.
+
+ * trees.c (warning): Renamed from warn.
+
+1998-10-14 Paul Eggert <eggert@twinsun.com>
+
+ Merge patches from Debian.
+
+ * NEWS, README, revision.h (VERSION, REVDATE):
+ Revision 1.2.4.4294967300, dated today.
+
+ * README, algorithm.doc, gzip.texi: Update maintainer address.
+
+ * gzexe.in, zdiff.in, znew.in:
+ Close security hole portably, using `set -C'.
+
+ * zgrep.in: Add -A, -B.
+
+ * gzexe.in: Use `gzip', not full path, to run gzip.
+
+ * zdiff.in: Report proper exit status.
+
+ * gzip.h (base_name): Renamed from basename. All uses changed.
+
+ * gzip.c (z_suffix): Now char *, so that there's no limit to length.
+ All uses change.
+ (main): If --quiet, abort gzip when SIGPIPE received.
+ (get_suffix): Don't assume z_suffix's address is a constant.
+ (get_istat): Likewise.
+ Check for buffer overflow.
+ Preserve errno correctly.
+ (make_ofname): Check for buffer overflow.
+
+ * util.c (fill_inbuf): Flush window before reporting read error.
+
+ * inflate.c (inflate_dynamic): Don't dump core if tl == NULL.
+
+ * Makefile.in (GENFILES): Add zless.in.
+ (SCRIPTS): Add zless.
+ (default): Build all programs, not just gzip.
+ (all): Add zless.
+ (installbin): Install zegrep, zfgrep.
+ (installman): Install zless man page.
+ (install_compress): Don't install compress.
+ (zless): New rule.
+
+1998-09-16 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h: Bump version number to 1.2.4.4294967299.
+
+ * tailor.h (UNLINK_READONLY_BUG): New macro.
+ * gzip.h (unlink): New decl.
+ * util.c (xunlink): New function.
+ * gzip.c
+ (treat_file, create_outfile, check_ofname, copy_stat, abort_gzip):
+ Use xunlink rather than unlink.
+ Do not chmod the file; xunlink will do that if need be.
+
+1998-05-21 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h: Bump version number to 1.2.4.4294967298.
+ * Makefile.in (prefix): Set from @prefix@.
+ (distclean): Remove config.cache.
+
+1998-01-15 Paul Eggert <eggert@twinsun.com>
+
+ * NEWS, README, revision.h:
+ Bump version number to indicate large-file support.
+
+1997-10-08 Paul Eggert <eggert@twinsun.com>
+
+ * gzip.c (CHAR_BIT): Define if <limits.h> doesn't.
+ (OFF_T_MIN, OFF_T_MAX): New macros.
+ (do_list): Revert to fixed format, but this time don't assume
+ that 9 digits suffice; use a width taken from the maximum value
+ that off_t can represent.
+ (off_t): Do not typedef; autoconf handles this now.
+ * gzip.c, util.c (<limits.h>): Include if HAVE_LIMITS_H.
+ * gzip.h, util.c (fprint_off): Now takes int width argument.
+ * configure.in (AC_HAVE_HEADERS): Check for limits.h.
+ (AC_TYPE_OFF_T): Use this instead of grepping sys/types.h for off_t.
+ (AC_TYPE_SIZE_T): Use this instead of obsolescent AC_SIZE_T.
+ * tailor.h (NO_OFF_T): Remove.
+ (off_t): Define this instead.
+
+1997-10-03 Paul Eggert <eggert@twinsun.com>
+
+ * Makefile.in, bits.c, configure.in, deflate.c, gzip.c, gzip.h,
+ inflate.c, trees.c, unlzw.c, unpack.c, unzip.c, util.c, zip.c:
+ Adjust to Solaris 2.6, which has large files but small off_t by default.
+ * gzip.c: Output more reasonable message if input file is too large.
+ * gzip.c, util.c: Propagate errno from point of error to `perror'.
+ * unzip.c: Allow uncompressing files larger than 4 gigabytes.
+ http://www.gzip.org/4g.patch (1996-07-21)
+
Wed Aug 18 09:34:23 1993 Jean-loup Gailly (jloup@chorus.fr)
* version 1.2.4
* Alpha version 0.1 released (under time pressure), so it's not
much tested, sorry.
+
+ -----
+
+ Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2006 Free
+ Software Foundation, Inc.
+
+ Copyright (C) 1992, 1993 Jean-loup Gailly
+
+ Copying and distribution of this file, with or without
+ modification, are permitted provided the copyright notice
+ and this notice are preserved.