Sat Jun 17 07:08:26 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* Release 1.11.8.

	* lib/Makefile.in (DISTFILES): Remove COPYING.LIB.
	* lib/COPYING.LIB: Deleted.

	* src/Makefile.in (mostlyclean): Remove also _*.c and _*.o.

	* src/system.h: Remove typedef of off_t, because AC_TYPE_OFF_T
	takes care of it now.

	* src/create.c (dump_file), src/gnu.c (get_dir_contents): Cast
	(int) explicitely for test.

	* src/Makefile.in ($(OBJECTS)): Depend on ../intl/libgettext.h
	instead of ../intl/libintl.h, which does not always exist.

	* src/genfile.c: Define EXIT_SUCCESS and EXIT_FAILURE if not.
	* src/tar.c (main): Use TAREXIT_SUCCESS instead of EXIT_SUCCESS.

	* scripts/WARNING: New file.
	* scripts/Makefile.in (DISTFILES): Distribute it.

	* po/Makefile.in (.po.gmo): Force moving the created .gmo file to
	$(srcdir), in case it was not already found and replaced there.
	(install-data): Find files in $(srcdir) if not in current dir,
	because .gmo files are taken there, right out the distribution.
	* intl/Makefile.in (DISTFILES): Ensure an all ready stamp-cat-id
	and cat-id-tbl.c into the distribution.
	(stamp-cat-id): Rewrite rule so it replaces files in $(srcdir),
	remove a useless rm and cat.

	* po/Makefile.in (install-data, uninstall): Avoid using basename.

	* Makefile.in (DISTFILES): Distribute config.guess and config.sub.
	Reported by Ulrich Drepper.

	* acconfig.h, aclocal.m4, configure.in, intl/cat-compat.c,
	int/gettext.h, intl/po-to-tbl.sed, po/Makefile.in: Last minutes
	additions, and glimpses to the future gettext 0.6.1.
	Reported by Ulrich Drepper.

	* acconfig.h: Document HAVE_MKNOD.
	* configure.in: Test for mknod only once <sys/stat.h> included.
	Reported by Alan Modra, Ray Dassen and Ulrich Drepper.

	* aclocal.m4: Test for re_rx_search instead of rx_compile, the
	latter not being exported unless RX_WANT_RX_DEFS is defined.
	Reported by Alan Modra.

	* src/tar.h: Use off_t instead of long for the second argument in
	__rmt_lseek declaration.

Thu Jun 15 14:30:20 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* po/Makefile.in (dist): Comment out tupdate action for now, it
	needs more tweeking before being distributed active.

	* intl/Makefile.in (dist), po/Makefile.in (dist): Correct
	missing reference to $(srcdir) on cp call, also avoid outputting
	clutter while doing the work.

	* intl/Makefile.in: Use top_srcdir for referring to $(PACKAGE).pot.

	* Makefile.in, lib/Makefile.in (dist), scripts/Makefile.in (dist):
	Do not hide copying rule.

	* po/Makefile.in (.po.gmo): Get around what seems to be an msgfmt
	bug, which adds .mo even to FILE in `-o FILE'.

	* src/checktar.sh: Send a message saying that it is still useless.

	* configure.in, intl/Makefile.in, po/Makefile.in: Adjustments to
	NLS, so .sed scripts may now all reside in intl/.

Tue Jun 13 16:10:49 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* Makefile.in (pot): New goal, triggering po/tar.pot.

Sun Jun 11 08:53:50 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* src/tar.h, src/tar.c (decode_options), src/extract.c
	(extract_archive), src/diffarch.c (diff_archive), src/create.c
	(dump_file, start_header), src/tar.c (decode_options): Replace
	flag_absolute_paths by flag_absolute_names.
	* src/tar.c (decode_options): Implement OBSOLETE_ABSOLUTE_NAMES for
	reporting --absolute-paths as obsolete.

	* src/system.h: Conditionnaly include <locale.h> and define
	setlocale to void independently of ENABLE_NLS.
	Reported by Ulrich Drepper.

Sat Jun 10 19:59:19 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* src/tar.c (long_options): Use no_argument and require_argument,
	instead of constants.  Have long option names translated to short
	options whenever possible, rather than setting flags directly:
	easing option management is worth a few extra nanoseconds.

	* src/tar.c (long_options): Add --gunzip as meaning -z.
	Reported by Bruno Haible.

Wed Jun  7 13:51:13 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* configure.in: Substitute POTFILES by contents of po/POTFILES.
	* po/POTFILES: New file.
	* po/Makefile.in: Use POTFILES instead of TRANSCSRCS, also use
	top_srcdir.

	* {doc,lib,scripts,src}/Makefile.in: Use subdir and distdir.

	* configure.in: More adjustments for GNU gettext 0.6.
	* config.guess, config.sub, intl/linux-msg.sed, intl/po-to-tbl.sed,
	intl/xopen-msg.sed: New	files, all taken from gettext 0.6.
	* lib/stpcpy.c, lib/xgetcwd.c: New functions needed by gettext.
	* lib/Makefile.in: Adjusted to always compile these.
	* src/system.h: If NLS, simplify by merely including <libintl.h>.
	Also, define setlocale to emtpy only if the setlocale function is
	not known, instead of when <locale.h> is missing.
	* src/Makefile.in (INCLUDES): Use ../intl in compilations,
	taking care of the fact libintl.h might have been symlinked there.

Mon Jun  5 21:51:01 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* intl/*:  New from GNU gettext 0.6, replacing the previous
	version of this directory.  This change should solve many problems.
	Reported by Bruno Haible, Christopher Vickery, Jan Carlson,
	Jean-Philippe Martin-Flatin, John David Anglin, Joseph E.
	Sacco, Kaveh R. Ghazi, Kurt Jaeger, Mark W. Eichin, Marty
	Leisner, Minh Tran-Le, Stephen Saroff, Thomas Koenig, Thomas
	Krebs and William Bader.

	* src/tar.c, src/tar.h: Rename TAR_EXTERN to GLOBAL.

	* src/tar.h: Delete COMMAND_VERSION.
	* src/tar.c: Replace OPTION_HELP and OPTION_VERSION commands by
	show_help and show_version variables, so `--version --create' will
	not diagnose `Too many commands'.  Adjust things so this works.
	Reported by Marty Leisner.

Sun Jun  4 15:15:06 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* Makefile.in, src/Makefile.in (check): New goal.
	* src/checktar.sh: New script.
	* src/genfile.c: New file.
	* src/Makefile.in (all): Prepare genfile.
	* src/Makefile.in: Distribute checktar.sh and genfile.c.

Sat Jun  3 09:30:34 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* doc/tar.texinfo: Use header.texi.
	* doc/Makefile.in: Prepare doc/header.texi from src/tar.h.
	Distribute it.
	* src/tar.h: Adjust so extracted doc/header.texi is neater.

Tue May 30 08:01:38 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* src/tar.c (name_match): Use %s for printing directory, not %d.
	Reported by Marty Leisner.

	* src/tar.c (name_gather, addname): chdir_name receives string
	pointers which might later be overwritten, but nevertheless saved
	into structures, so, use xstrdup for the time being.
	Reported by Michael Holmes.

	* src/tar.c (name_next, name_from_list): Abort when chdir fails.
	Reported by Ian Jackson and Marty Leisner.

	* Makefile.in (DISTFILES): Do not distribute SUPPORT, now
	integrated in the documentation.
	Reported by Karl Berry.

Sun May 28 13:36:10 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* src/rmt.h: Declare second argument of __rmt_lseek to be off_t
	instead of long, so it is the same as in src/rmt.c.
	Reported by Chris Arthur.

	* src/buffer.c (close_archive): Compensate for the addition of 2
	to ar_block at open_archive time, for when -M used, just before
	calling free.
	Reported by Kevin Dalley.

	* src/rmt.c: Replace SSIZE by STRING_SIZE, avoiding a conflict
	with some header files.
	Reported by Kaveh R. Ghazi and William Bader.

	* src/tar.c: Use DEVICE_PREFIX instead of DEVICE_PREXIX, and
	WITH_REGEX instead of WITH_REGEC.
	Reported by Bruno Haible.

	* doc/Makefile.in (DISTFILES): Add tar.info-3.
	Reported by Bruno Haible.

	* configure.in: Check for isascii, not iascii.
	Reported by Alan Modra, Bruno Haible and Greg McGary.

Tue May 16 12:32:04 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* Prerelease 1.11.7.

	* src/Makefile.in (tar): Have $(OBJECTS) depend on system.h.

	* Makefile.in (DISTFILES): Distribute NLS.
	* lib/insremque.h, lib/insremque.c: New files, from GNU gettext.
	* lib/Makefile.in: Take care of insremque.[hc].
	* configure.in, acconfig.h: Many adjustments for GNU gettext.
	* intl/Makefile.in, po/Makefile.in: Idem.
	* src/system.h: Idem.

Tue May  9 00:14:23 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* configure.in, src/Makefile.in: Clean glocale out.

	* po/Makefile.in: New file.
	* po/de.po, po/fr.po, po/pt.po, po/sv.po: New files, adapted from
	the corresponding .tt files in src/.
	* Makefile.in (SUBDIRS): Add po.
	* Makefile.in (pofile): New goal.

Mon May  8 14:58:54 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* configure.in: Call ud_WITH_NLS, create intl/Makefile.in.
	Compute size of unsigned short and unsigned int.

	* acconfig.h: Document ENABLE_NLS, HAVE_CATGETS and HAVE_GETTEXT.
	* Makefile.in: Process intl subdirectory.
	* src/Makefile.in: Use libintl.a while linking.
	* src/system.h: Include <libintl.h> unconditionally, instead only
	if WITH_CATALOG.  Let <libintl.h> define _() appropriately.
	* src/tar.c (main): Call textdomain.
	* intl/*: New, from nlsutils.

	* configure.in (LINGUAS): Add pt.
	* src/pt.po: New file, for Portuguese.
	Reported by Antonio Jose Coutinho.

Tue May  2 23:24:10 1995  =?ISO-8859-1?Q?Fran=E7ois_Pinard?=  (pinard@icule)

	* src/system.h, src/gnu.c, src/list.c, src/port.c: Avoid
	superfluous parentheses in macro definitions.
	* src/port.c: Capitalize macro arguments.
	* src/buffer.c, src/create.c, src/diffarch.c, src/tar.c: Use comma
	operator when assignment in test.

Thu Apr 27 20:56:21 1995  François Pinard  (pinard@icule)

	* src/port.c (link): Use WARN to report the message.
	Reported by Sherwood Botsford.

Sun Mar 19 10:41:06 1995  François Pinard  (pinard@icule)

	* configure.in: Remove GLOCALE, add LINGUAS, use fp_WITH_CATALOGS.
	* lib/Makefile.in, src/Makefile.in: Modify accordingly.
	* acconfig.h: Add description for WITH_CATALOGS.
	* system.h: Use WITH_CATALOGS to define _() differently.

Tue Mar 14 23:29:34 1995  François Pinard  (pinard@icule)

	* src/rtapelib.c (__rmt_open): Close the unused side of each
	pipe, instead of the useful one, prior to processing.
	Reported by Charles Lopes.

Wed Feb 22 00:03:32 1995  Francois Pinard  (pinard@icule)

	* configure.in, Makefile.in, doc/Makefile.in, src/Makefile.in:
	Replace `date' by `echo timestamp'.

Sun Feb 19 12:25:02 1995  Francois Pinard  (pinard@icule)

	* Makefile.in, lib/Makefile.in, src/Makefile.in: Support ID files.
	Do not distribute TAGS.

Mon Feb 13 18:29:23 1995  Francois Pinard  (pinard@icule)

	* doc/Makefile.in, src/Makefile.in: Use top_srcdir.

Sat Feb 11 18:16:40 1995  Francois Pinard  (pinard@icule)

	* src/gnu.c (is_dot_or_dotdot): Through NFS, readdir might deliver
	empty filenames under old Solaris 2.4, causing endless loops in
	tar.  As a workaround, avoid `' as done already for `.' and `..'.
	Reported by Jan Carlson.

Sun Feb  5 07:38:18 1995  Francois Pinard  (pinard@icule)

	* All Makefile.in (maintainer-clean): New name for realclean.

Mon Jan  9 13:29:24 1995  Francois Pinard  (pinard@icule)

	* src/de.tt: New file, for Swedish.
	Reported by Jan Djarv.

Wed Jan  4 12:50:46 1995  Francois Pinard  (pinard@icule)

	* src/extract.c (make_dirs): Correct for Turbo C on MSDOS, which
	may return EACCES instead of EEXIST on mkdir.
	Reported by Jeffrey Goldberg.

	* src/tar.c (usage): Do not tell about -N and related if MSDOS.
	(decode_options): Be blind to -N and related if MSDOS.
	Reported by Jeffrey Goldberg.

	* src/rmt.h (_remdev): A filename is not remote if the colon is
	preceeded by a slash, to take care of `/:/' which is a shorthand
	for `/.../<CELL-NAME>/fs' on OSF's Distributing Computing
	Environment (DCE) and Distributed File System (DFS).
	Reported by Travis L. Priest.

Tue Jan  3 21:43:36 1995  Francois Pinard  (pinard@icule)

	* src/tar.c (decode_options): Renamed from options.  Convert
	oldish-style non-dashed options to modern writing before
	performing option decoding.  Diagnose when modern options are met
	before old style options are fully converted.  This allows
	mixing of option styles on a single call.  Avoid getoldopt and
	use getopt_long instead.
	* src/getoldopt.c: Deleted.
	* src/tar.h: Prototype deleted.
	* src/Makefile.in: Adjusted.
	Reported by Bruno Haible, Les Mikesell and Patrick Timmons.

Mon Jan  2 21:48:49 1995  Francois Pinard  (pinard@icule)

	* src/system.h: New file, split out of src/tar.h.
	* src/buffer.c, src/create.c, src/diffarch.c, src/extract.c,
	src/getoldopt.c, src/gnu.c, src/list.c, src/mangle.c, src/names.c,
	src/port.c, src/tar.c, src/update.c: Include "system.h", and move
	the inclusion of "tar.h" down after system dependent definitions.
	* src/Makefile.in: Distribute system.h.

	* src/rmt.c: Include "system.h", and simplify accordingly.
	* src/rtapelib.c: Include "system.h", and simplify accordingly.
	* src/rmt.h: Simplify according to the inclusion of "system.h".

	* src/system.h: Include conditionnaly <sys/gentape.h>,
	<sys/tape.h>, <sys/mtio.h>, <sys/ioctl.h> and <sys/io/trioctl.h>.
	* src/buffer.c, src/diffarch.c, src/rmt.c, src/rtapelib.c,
	src/update.c: Simplify accordingly.

	* configure.in: Check for <sys/ioccom.h>.
	* src/system.h: If it exists, include <sys/ioccom.h> prior to
	<sys/mtio.h>, to account for problems when GNU libc 1.0x is
	installed over SunOS 4.1.3: GNU libc does not provide sys/mtio.h,
	so it is taken from Sun header files which use things like _IOW,
	which GNU libc despises, sys/ioccom.h then provides definitions.
	Reported by Joseph E. Sacco.

Sun Jan  1 15:52:44 1995  Francois Pinard  (pinard@icule)

	* Makefile.in (DISTFILES): Distribute SUPPORT, with *pre*-releases.

Tue Dec 27 11:26:19 1994  Francois Pinard  (pinard@icule)

	* src/rmt.h: Ensure strrchr is defined to rindex in some cases.
	Reported by Karl Vogel.

Sun Dec 18 19:34:32 1994  Francois Pinard  (pinard@icule)

	* configure.in: Check for isascii.
	* src/tar.h: Include <ctype.c> and declare ISASCII.
	* src/gnu.c: Adjust, declare and use ISDIGIT and ISSPACE.
	* src/list.c: Adjust, declare and use ISODIGIT and ISSPACE.
	* src/port.c: Adjust, declare and use ISPRINT.
	Reported by Bruno Haible.

	* lib/safe-stat.h: New, from elsewhere.  This solves the fact that
	lib/mkdir.c, lib/rmdir.c and lib/rename.c were needing it.
	* lib/Makefile.in (Makefile): Distribute it.
	Reported by Bruno Haible and Sherwood Botsford.

Sun Dec 11 16:17:19 1994  Francois Pinard  (pinard@icule)

	* configure.in: Use fp_WITH_REGEX.
	* acconfig.h: Document WITH_REGEX.
	* lib/rx.c, lib/rx.h: New, from elsewhere.
	* lib/Makefile.in: Adjust accordingly.
	* src/buffer.c, src/tar.c: Check WITH_REGEX.

Sat Dec 10 08:23:06 1994  Francois Pinard  (pinard@icule)

	* src/de.tt: New file, for German.
	Reported by Ulrich Drepper.

Sat Dec  3 21:59:23 1994  Francois Pinard  (pinard@icule)

	* Prerelease 1.11.6.

	* src/rmt.c: Adjust for localization, by including <locale.h> and
	<libintl.h>, by defining _(), by defining and calling setlocale,
	and by defining and initializing program_name.
	* src/Makefile.in: Use locale.o and libtar.a with rmt.

	* scripts/ChangeLog: Replaced by a warning for now.  It has
	seemingly been overwritten by the weekly script :-(.

	* scripts/Makefile.in (dist): Correct .../examples to .../scripts.
	* doc/Makefile.in (DISTFILES): Include docwarn.texi.

	* src/Makefile.in: Ensure INSTALL_DATA is defined.

	* configure.in, {,src,lib}/Makefile.in, src/tar.h, src/tar.c:
	Localize, adapting from how it is done in sharutils.

	* src/fr.tt: New file, for French.

	* configure.in, {,*/}Makefile.in, acconfig.h, src/tar.c:
	Rename PRODUCT to PACKAGE.

Tue Nov 29 20:44:14 1994  Francois Pinard  (pinard@icule)

	* src/buffer.c (backspace_output): Change cur from long to off_t.
	* src/diffarch.c (diff_archive): Idem for offset.
	* src/extract.c (extract_archive): Idem for offset.
	* src/rmt.c: Idem for lseek ().
	(main): For case 'L', use atol instead of atoi, and cast the
	result to (off_t) rather than (long).
	* src/rtapelib.c (__rmt_lseek): Idem of offset argument.
	* src/tar.h: Change offset of sp_array from int to off_t.
	* src/update.c (move_arch): Change cur from long to off_t.
	Reported by David J. MacKenzie.

Sat Nov 26 18:35:37 1994  Francois Pinard  (pinard@icule)

	* configure.in: Check for <libintl.h> and <locale.h>.
	* src/rmt.h, src/tar.h, src/buffer.c, src/create.c,
	src/diffarch.c, src/extract.c, src/gnu.c, src/list.c,
	src/rtapelib.c, src/update.c: Rename _ to __P.
	* src/tar.h, src/rmt.h: Declare _ as a macro returning its
	argument, or else, include <libintl.h> and declare _ as gettext.
	* src/tar.c: Possibly include <locale.h> and call setlocale.
	* src/rmt.c, src/buffer.c, src/create.c, src/diffarch.c,
	src/extract.c, src/getoldopt.c, src/gnu.c, src/list.c,
	src/mangle.c, src/port.c, src/rtapelib.c, src/tar.c,
	src/update.c: Use _ macro over all localizable strings.

	* src/rtapelib.c: Declare prototype for xstrdup.  Do not declare
	strstr, which is not needed.

Mon Nov  7 22:25:27 1994  Francois Pinard  (pinard@icule)

	* doc/Makefile.in (stamp-vti): Use new -r option to date.

Sat Nov  5 15:53:53 1994  Francois Pinard  (pinard@icule)

	* doc/Makefile.in (realclean): Also remove stamp-vti.

Wed Nov  2 00:50:31 1994  Francois Pinard  (pinard@icule)

	* configure.in: Check for const only after having found possible
	ANSIfying compiler flags, this is of no use to check it before.

Tue Nov  1 15:30:12 1994  Francois Pinard  (pinard@icule)

	* {,*/}Makefile.in: Clean up, following those of GNU m4.  I will
	not detail all the changes here.
	* configure.in: Likewise.
	* tar.c: Use PRODUCT and VERSION instead of version_string.
	* acconfig.h: Document PRODUCT and VERSION.

Sun Oct 30 16:29:05 1994  Francois Pinard  (pinard@icule)

	* src/tar.h: Use #if __STDC__ instead of #ifdef __STDC__.

Thu Oct 27 12:36:06 1994  Francois Pinard  (pinard@icule)

	* src/rmt.h, src/tar.h, src/buffer.c, src/create.c, src/diffarch.c,
	src/extract.c, src/gnu.c, src/list.c, src/mangle.c, src/tar.c,
	src/update.c: Rename all f_* variables to flag_*.

	* src/tar.h, src/buffer.c, src/tar.c, src/update.c: Rename
	cmd_mode into command_mode.
	* src/tar.c (SET_COMMAND_MODE): New macro, use it.

	* src/port.c (quote_copy_string): Prevent sign extension of
	character while copying it to an int.
	(un_quote_string): Increment to_there pointer in all cases.
	Reported by Mats Lofkvist.

Sun Oct  9 08:37:35 1994  Francois Pinard  (pinard@icule)

	* src/rmt.c, src/rtapelib.c, src/tar.h: Get rid of CONFIG_BROKETS.

Tue Oct  4 22:45:06 1994  Francois Pinard  (pinard@icule)

	* src/diffarch.c (fill_in_sparse_array): Add a cast for Pyramid's
	dumb compiler.  Later remove the cast and compare to 0 instead.
	* src/extract.c (extract_archive): Idem.
	Reported by Karl Vogel and Kaveh R. Ghazi.

	* configure.in: Correct shell assignment for ac_cv_path_RSH.
	Reported by Kaveh R. Ghazi.

Tue Sep 27 12:12:04 1994  Francois Pinard  (pinard@icule)

	* src/diffarch.c: Normalize capitalization in diagnostics.

Mon Sep 26 18:23:47 1994  Francois Pinard  (pinard@icule)

	* src/tar.c (name_next, name_match): Abort tar if directory cannot
	be changed, instead of going on.  This is not an innocuous error.
	Reported by Marty Leisner.

Thu Sep 15 23:46:27 1994  Francois Pinard  (pinard@icule)

	* src/rtapelib.c: Include "rmt.h" only once <sys/types.h> has been
	included, because off_t might not be defined otherwise.
	Reported by James W. McKelvey, Karl Vogel, Kaveh R. Ghazi an
	and Jim Meyering and Tilman Schmidt.

Wed Sep 14 21:43:26 1994  Francois Pinard  (pinard@icule)

	* doc/Makefile.in: Cleanup...
	(texclean): Deleted, merged into mostlyclean.
	(Makefile): Have ./config.status create this Makefile only.

	* lib/Makefile.in: Cleanup...
	(DISTFILES): Distribute TAGS.
	(check): Deleted.
	(TAGS): Make TAGS in $(srcdir) only.
	(distclean): Do not remove TAGS.
	(realclean): Remove TAGS.
	(Makefile): Have ./config.status create this Makefile only.

	* scripts/Makefile.in: Cleanup...
	(check): Deleted.
	(Makefile): Have ./config.status create this Makefile only.

	* src/Makefile.in: Cleanup...
	(DISTFILES): Distribute TAGS.
	(ansi2knr): Use $(LIBS).
	(TAGS): Make TAGS in $(srcdir) only.
	(distclean): Do not remove TAGS.
	(realclean): Remove TAGS.
	(Makefile): Have ./config.status create this Makefile only.

	* Makefile.in: Cleanup...  Use subshells for all cd's.
	(MDEFINES): Do not use $(INSTALL...), because ./install-sh will
	not be relocated correctly.
	(DISTFILES): Distribute install-sh, not install.sh.
	(tags): Make only in lib and src.
	(TAGS): Deleted.
	(distclean, realclean): Remove config.status.
	(distclean-local): Don't.
	(*-recursive): Combine, use sed to strip -recursive in subgoals.
	(Makefile): Have ./config.status create this Makefile only.
	(stamp-h): Have ./config.status create config.h only.  Do not
	create stamp-h here, it is now done from configure.
	(stamp-h.in): Use date instead of touch.
	* configure.in (AC_OUTPUT): Create stamp-h.

Tue Sep 13 23:01:42 1994  Francois Pinard  (pinard@icule)

	* src/buffer.c: Remove the presetting of stdlis, because stdout is
	not a constant in GNU libc.
	Reported by Joseph E. Sacco and Michael Innis Bushnell.

	* src/buffer.c (new_volume): Pass an otherwise unused argument to
	wait, do not use NULL.
	Reported by Michael Innis Bushnell.

Fri Sep  9 18:10:56 1994  Francois Pinard  (pinard@icule)

	* configure.in: Use fp_ macros for accessing aclocal.m4.  Revert
	_OS_ macros to their previous names, to follow Autoconf.

Thu Sep  8 20:04:03 1994  Francois Pinard  (pinard@icule)

	* configure.in: Delete AC_OS_XENIX, now within AC_HEADER_DIRENT.

Mon Sep  5 17:06:31 1994  Francois Pinard  (pinard@icule)

	* src/Makefile.in (TAGS): Remove -t on etags call.  It has been
	the default behavior for a few releases of Emacs and it seems that
	option -t is now disappearing (from Emacs 19.25, at least).
	Reported by Goeran Uddeborg.

Fri Sep  2 22:36:20 1994  Francois Pinard  (pinard@icule)

	* src/gnu.c (get_dir_contents): Do not set dp->allnew if dp is not
	set itself.
	Reported by Piercarlo Grandi.

	* src/extract.c (extract_archive): Issue diagnostic or verbose
	messages to msg_file, instead of stdout.
	Reported by Piercarlo Grandi.

Thu Sep  1 13:37:49 1994  Francois Pinard  (pinard@icule)

	* configure.in (PROGS): Warn if $DEFAULT_ARCHIVE was specified,
	while not being found on the current system.
	Reported by Robert Bernstein

Wed Aug 31 09:28:51 1994  Francois Pinard  (pinard@icule)

	* Makefile.in: Distribute it.

	* Makefile.in (distclean-local): Delete config.log.

Tue Aug 30 09:45:13 1994  Francois Pinard  (pinard@icule)

	* doc/Makefile.in (tar.info): Make the documentation in the source
	directory only.

Sat Aug 27 08:05:31 1994  Francois Pinard  (pinard@icule)

	* acconfig.h: Document HAVE_UNION_WAIT, no more in Autoconf.

Wed Aug 24 12:16:41 1994  Francois Pinard  (pinard@icule)

	* configure.in: Replace AC_SYS_REMOTE_TAPE by its definition,
	distillating it around.  It is going out of Autoconf.
	Do not backslash quotes anymore while defining unquoted, this is
	now corrected in Autoconf.

Tue Aug 23 02:05:50 1994  Francois Pinard  (pinard@icule)

	* src/tar.h: Do not declare alloca if already defined, so HP's
	+Olibcalls compiler option works.
	Reported by John David Anglin.

	* src/rtapelib.c (__rmt_open): Use REMOTE_SHELL only if defined.
	Otherwise, if the command argument has been specified and
	REMOTE_SHELL is not defined, immediately return an error.
	Reported by Bruno Haible, Kaveh R. Ghazi, Marty Leisner,
	Torkel Hasle and William Bader.

	Because --rsh-command may always be given, even if no remote shell
	was found at configure time, remote capabilities are always compiled:
	* configure.in: Do not define RTAPELIB nor HAVE_RTAPELIB.
	* src/Makefile.in: Always compile $Urtapelib.o.
	* src/buffer.c (child_open): Always test _remdev, do not depend
	anymore on HAVE_RTAPELIB.
	* src/rmt.h: Remove the code for missing HAVE_RTAPELIB.

	* src/rtapelib.c: Remove unused COMPAT (mis)feature.  Remove most
	length limitations for remote host name, remote user name and
	remote device name.  Duplicate path, and free it in all cases.
	* (_rmt_rexec): The `user' parameter may never by the empty
	string.  Remove code for that case.

Mon Aug 22 17:58:19 1994  Francois Pinard  (pinard@icule)

	Little cleanup in installation:
	* configure.in: Do not check for wait3, this function is not used.
	* Makefile.in: Remove useless RSH substitutions.
	* src/Makefile.in: Remove rule for ../lib/libtar.a.
	* lib/Makefile.in (install, check): Depend on all.

	* configure.in: Use `-g -O' instead of `-g' as CFLAGS default
	value, when GNU C is being used.  Delay testing for presets.
	Reported by Chris Arthur.

Sun Aug 21 08:26:29 1994  Francois Pinard  (pinard@icule)

	* Prerelease 1.11.5.

	* Makefile.in (BACKLOG, dist, shar): Correct for when a different
	build directory.
	* src/Makefile.in, lib/Makefile.in, doc/Makefile.in: Idem.

	* configure.in: Check for union wait.  Adapted from make 3.71.
	* src/tar.h: Replace W* definitions.  Adapted from make 3.71.
	* src/buffer.c (close_archive): Replace WIFCOREDUMPED by
	WCOREDUMP.  Previous WIFSIGNALED definition was excluding SIGSTOP,
	new definition do not exclude it anymore.  We'll see.
	Reported by Demizu Noritoshi, Greg Black, Kaveh R. Ghazi,
	Robert E. Brown and Russ Evans.
FIXME:	(close_archive): 

	* doc/docwarn.texi: New file.
	* doc/Makefile.in: Distribute it.

	* configure.in: Replace both mkdir and rmdir, not just mkdir,
	because NS32016 running SysVr2.2 has mkdir and lacks rmdir.
	* lib/rmdir.c: New, split out of lib/mkdir.c.
	* lib/Makefile.in: Distribute it.
	Reported by Greg Black.

	* configure.in: Do not try anymore to discover the archive device
	by looking around for various device names.  If the installer does
	not override it, nicely use `-' as a convenient default.
	Reported by Andreas Schwab and Kaveh R. Ghazi.

Sat Aug 20 09:09:47 1994  Francois Pinard  (pinard@icule)

	This might (?) solve the dirent problems on NeXT's and Apollo's:
	* src/tar.h: Change includes and defines from older AC_DIR_HEADER
	style to newer and clearer AC_HEADER_DIRENT style.
	* src/create.c, src/gnu.c: Replace NLENGTH by NAMLEN.
	Reported by Drew Trieger, Hugh Secker-Walker, James W. McKelvey,
	Robert E. Brown and Thomas Krebs. 

	* configure.in: Correct a checking message.
	Reported by Bruno Haible.

Wed Aug 17 00:37:16 1994  Francois Pinard  (pinard@icule)

	Remove some shadowings.
	* src/update.c (update_archive): Rename head_standard to unused.
	* src/buffer.c (open_archive): Rename head to label.
	(fl_read): Rename head to cursor.

	* src/gnu.c (dirent_cmp): Use (char *const *), not (const char **)
	for not loosing the const specifier while casting.

	* src/mangle.c (extract_mangle): Remove unused argument.
	* src/tar.h: Adjust prototype.
	* src/extract.c (extract_archive): Caller changed.

	* src/rtapelib.c (__rmt_open): Remove useless mode parameter.
	* src/rmt.h, src/tar.h: Adjust prototype.
	* src/rmt.h: Adjust macros calling __rmt_open.
	* src/create.c (deal_with_sparse): Remove unused argument.
	* src/create.c (dump_file): Caller changed.
	Reported by Greg Black.

	* configure.in: Replace AC_PROG_RSH with its expansion.  Correct
	the no/true confusion in tests.  Do not substitute RSH anymore in
	src/Makefile, instead define REMOTE_SHELL in config.h.  Replace
	NO_REMOTE by HAVE_RTAPELIB, with inverted meaning.  Substitute
	RTAPELIB by $Urtapelib.o instead of rtapelib.o.
	* acconfig.h: Document HAVE_RTAPELIB and REMOTE_SHELL.
	* src/Makefile.in: Avoid $U in defining RTAPELIB.  Remove both
	rtapelib.o and _urtapelib.o explicit rules, not needed anymore.
	* src/rmt.h, src/buffer.c: Use HAVE_RTAPELIB, not !NO_REMOTE.
	Reported by Andreas Schwab.

	* configure.in: Checking for remote shell, use the RSH environment
	variable if set.  This is done only when not already in the cache.
	Reported by Kaveh R. Ghazi.

	* configure.in: Include <sys/types.h> when testing <utime.h>.
	Reported by Andreas Schwab.

	* lib/ftruncate.c: Revised, because there is no ftruncate
	capability whatsoever in Interactive Unix.
	Reported by Peder Chr. Norgaard.

	* src/Makefile.in: Correct a typo in $Ubuffer.o dependencies.
	Reported by Andreas Schwab.

	* src/rtapelib.c (__rmt_ioctl): Compile the MTIOCGET case only if
	this symbol is defined.  This also solves a missing mt_type field
	on NS32016 running SysVr2.2.
	Reported by Greg Black.

	* src/rtapelib.c (__rmt_ioctl): Conditionnalize only the MTIOCTOP
	case, not the whole routine, with the MTIOCTOP symbol.  In case of
	unrecognized operation, return EOPNOTSUPP instead of EINVAL.
	* src/rmt.h: Always provide a prototype for __rmt_ioctl.  Delete
	the RMTIOCTL machinery.

	* configure.in: Also create doc/Makefile.
	* Makefile.in: Add doc in subdirs, set infodir, update MDEFINES.
	* doc/Makefile.in: New file.
	* doc/tar.texinfo: New file.
	* doc/texinfo.tex: New, from elsewhere.

Tue Aug 16 09:47:49 1994  Francois Pinard  (pinard@icule)

	* configure.in: Undo the `test -b' patch of 1994-08-05.  Ultrix
	4.2 test does not know about -b.  Grrr...
	Reported by Kaveh R. Ghazi.

	* configure.in: Check for <sys/gentape.h>, HAVE_SYS_GENTAPE_H
	is tested in rmt.c.  Check for <sys/tape.h>, to avoid playing
	with M_UNIX anymore in rmt.c.
	* src/rmt.c, src/buffer.c: Use a more uniform way of including
	<sys/mtio.h> or its alternates.
	Reported by Daniel R. Guilderson and Kaveh R. Ghazi.

	* src/Makefile.in: Split rule for $Urtapelib.o into one rule for
	rtapelib.o and one rule for _rtapelib.o, taking care of the fact
	that rtapelib.c is in $(srcdir) while _rtapelib.c is in current
	directory.
	Reported by Andreas Schwab, Kaveh R. Ghazi, Minh Tran-Le and
	Per Foreby.

	* configure.in: Use proper function names in AC_CHECK_LIB's.
	Reported by Alexander Dupuy and Kurt Jaeger.

	* configure.in: Use $LIBOBJS, not LIBOJBS, while adding to it.
	Reported by Demizu Noritoshi and Kaveh R. Ghazi.

	* src/rmt.c (string_error): Correct DEBUG2 into DEBUG1, and strint
	into string.
	Reported by Anders Andersson, Bruno Haible, Thomas Krebs and
	Thomas Koenig.

	* src/Makefile.in: Add $U's to rtapelib and rmt specific rules.
	Reported by Thomas Koenig.

Mon Aug 15 15:11:12 1994  Francois Pinard  (pinard@icule)

	* Prerelease 1.11.4.

	* src/rmt.c (numeric_error): Renamed from error.
	(string_error): New, to replace ERROR ((...)), unavailable in rmt.c.

	* src/rmt.c (checkbuf): Do not accept, nor return record.  Use the
	global instead.  This will get rid of useless shadowings.

	* src/rmt.h: Give prototypes for __rmt_* routines.
	* src/rtapelib.c: Include "rmt.h".
	* src/update.c (move_arch): Cast last rmtioctl argument to char *.
	* src/buffer.c (backspace_output): Idem.
	* src/diffarch.c (verify_volume): Idem.

	* src/Makefile.in (rmt): Declare dependencies over rmt.h.

	* Makefile.in (dist): Dynamically update FIXME in distributions.

Sun Aug 14 10:44:53 1994  Francois Pinard  (pinard@icule)

	* configure.in: Decide MTIO_CHECK_FIELD by grepping <sys/mtio.h>.
	* acconfig.h: Document it.
	* src/rtapelib.c: Use it instead of mt_type.
	Reported by Ben A. Mesander.

	* Makefile.in: Substitute CC, INSTALL, INSTALL_PROGRAM,
	INSTALL_DATA, RSH, CFLAGS, LDFLAGS, LIBS, prefix, exec_prefix,
	binprefix, bindir and libexecdir.
	(MDEFINES): New, using the previous substitutions.
	(all, install, uninstall): Use it.
	Reported by Bruno Haible.

Sat Aug 13 11:21:23 1994  Francois Pinard  (pinard@icule)

	* configure.in: Check for <sys/wait.h>.
	* tar.h: Include <sys/wait.h> if it exists, whether POSIX or not.
	Check if WIFSTOPPED is defined, to decide if defining others WIF*.
	Reported by Bruno Haible.

Thu Aug 11 22:29:49 1994  Francois Pinard  (pinard@icule)

	* configure.in: For <utime.h>, also ensure struct utimbuf is
	defined by the header file before defining HAVE_UTIME_H.  Some
	systems will not define the structure without _POSIX_SOURCE.
	* acconfig.h: Document HAVE_UTIME_H.
	Reported by James W. McKelvey and Robert E. Brown.

	* configure.in: Instead of replacing strstr, check for it, so
	HAVE_STRSTR gets defined, then replace it explicitely if required.
	* src/tar.h, src/rtapelib.c: Declare strstr if we replaced it.
	Reported by Ben A. Mesander, Christian T. Dum and Kaveh R. Ghazi.

	* src/extract.c (extract_archive): Declare longname variable if
	O_CTG is defined.  Initialize it as NULL.  This dirty kludge will
	allow the module to compile on Masscomp's, for the time being.
	Reported by Ben A. Mesander.

Wed Aug 10 06:52:15 1994  Francois Pinard  (pinard@icule)

	* src/create.c (dump_file): Do not test only for hpux, but also
	for __hpux.  I added __hpux__ too, as done in src/tar.h.
	Reported by Richard Lloyd.

	* src/tar.h: Do not include <sys/mknod.h> anymore for HP-UX from
	HP-UX 8 and after, for which definitions are in <sys/sysmacros.h>,
	and reorganize the tests in this area.
	Reported by Christian T. Dum, Dimitris Fousekis, Kimmy Posey,
	Michael Maass, Richard Lloyd and Thomas Koenig.

Tue Aug  9 00:03:00 1994  Francois Pinard  (pinard@icule)

	* configure.in: Updated for Autoconf 2.0.

	These changes for const-cleaning src/gnu.c and src/tar.c:
	* src/tar.c (read_name_from_file): Work directly on global
	variables instead of accepting parameters.  Return success or
	failure as an int instead of the relocated name_buffer.
	(name_next): Caller changed, internal clean-up of the function.
	Remove trailing slashes on the command call too, not only when
	reading from a file through -T option.
	* src/gnu.c: Add const to name and dir_text in struct dirname.
	Reported by Ben A. Mesander, Bruno Haible, Christian T. Dum,
	Dean Gaudet, James W. McKelvey, Richard Lloyd and Robert E. Brown.

Mon Aug  8 11:22:56 1994  Francois Pinard  (pinard@icule)

	* src/tar.c (name_next, name_gather, addname): Use strcmp for
	checking for "-C", instead of decomposed tests, just for clarity.

	* src/Makefile.in (RSH): Define from configuration.
	(rtapelib.o): Define REMOTE_SHELL from $(RSH) while compiling.
	* src/rtapelib.c (__rmt_open): If command not given, use
	REMOTE_SHELL, instead of cascading tries of filenames.
	Reported by Bruno Haible.

	* src/tar.c: Include <fnmatch.h> if FNM_LEADING_DIR is not
	defined, instead of checking for FNM_PATHNAME, because some
	<unistd.h> define the later without defining the former.
	Reported by Thomas Koenig.

	* src/create.c (dump_file): Cast alloca results, for those
	compilers not processing void * properly.
	Reported by Kaveh R. Ghazi.

	* configure.in: Replace memset, mkdir (and rmdir), rename, strstr,
	ftruncate, when not found.
	* lib/memset.c, lib/mkdir.c, lib/rename.c, lib/strstr.c and
	lib/ftruncate.c: New, from elsewhere.
	* lib/Makefile.in: Distribute them.
	* src/port.c: Delete mkdir (and rmdir), rename, strstr and
	ftruncate replacements.
	Reported by Kaveh R. Ghazi (for memset and strstr).
	Reported by Bruno Haible (for mkdir and rename).

	* src/Makefile.in: Get prefix and exec_prefix from configure.
	Reported by Andreas Schwab, Christian T. Dum and Dean Gaudet.

Fri Aug  5 03:47:02 1994  Francois Pinard  (pinard@icule)

	* src/tar.h: Replace msg_file by stdlis.
	* src/buffer.c, src/gnu.c, src/list.c, src/diffarch.c: Idem.

	* src/tar.c (main): Print version on stdout, not stderr.

	* configure.in: Remove padding test.
	* acconfig.h: Remove PADDING_IN_TAR_HEADER.
	* tar.h: Unconditionnaly insert the pad.  Why play the game of
	forcing the compiler to do it for us?  (Hum!  I'm not so sure.)
	Reported by Bruno Haible.

	* src/list.c (read_header): Initialize signed_sum to 0.  Use this
	opportunity for slightly reorganizing the code around.
	Reported by Anders Andersson, Andrew A. Chernov, Bruno Haible
	and Chris Ransom.

	* src/tar.c: Declare name_buffer_length as size_t instead of int.
	Reported by Andreas Schwab, J.T. Conklin, Kaveh R. Ghazi and
	Robert E. Brown.

	* configure.in: While defining DEFAULT_ARCHIVE, check for a block
	device, instead of mere existence.  But is `test -b' portable?
	Test for /dev/fd0, instead of for /dev/fd.  Put rct tests last.
	Reported by Andreas Schwab.

	* lib/Makefile.in (getdate.c): Tell the installer to expect 10
	shift/reduce conflicts instead of 9.
	Reported by Andreas Schwab.

	* src/rmt.h: Have the NO_REMOTE case be a particular case of the
	other, for rmtopen and rmtcreat were not transmitting the proper
	number of parameters to open and creat (since 26 July 1994).
	Reported by Andreas Schwab.

	* src/extract.c (extract_archive): Delay changing owner to after
	doing utime, for keeping long enough the permission of utime'ing.
	(extract_archive, restore_saved_dir_info): Idem for directories.
	* configure.in: Define uid_t and gid_t if necessary.
	Reported by Jonathan I. Kamens.

	* Makefile.in (distclean-local): Delete config.cache.
	Reported by Thomas Koenig.

	* configure.in: Change malloc_dbg to dmalloc, mutatis mutandi.
	* acconfig.h: According changes.
	* tar.h: According changes.

	* configure.in: Test for broken stat macros, and for mkfifo.
	* src/tar.h: Undefine many macros if stat macros found to be
	broken.  Define mkfifo only if configure did not find it.
	Include <sys/param.h> if not _POSIX_SOURCE, then <unistd.h> if
	we have it, than "pathmax.h".  Move _POSIX_VERSION dependent
	code further down.  Do not declare getcwd if we do not have it.
	* src/tar.c: Do not include <unistd.h>, now in "src/tar.h".
	Reported by Bernard Chen, Jean-Michel Soenen, John L.
	Chmielewski and Kaveh R. Ghazi.

	* configure.in: Check for ST_BLKSIZE and ST_BLOCKS.
	* lib/fileblocks.c: New, from elsewhere.
	* lib/Makefile.in: Distribute it.
	* src/tar.h: Define DEV_BSIZE, ST_BLKSIZE and ST_NBLOCKS,
	borrowing this code from both fileutils-3.9's "lib/system.h" and
	textutils-1.9's "src/system.h".
	* src/create.c (dump_file): Straighten the test for sparseness,
	which was requiring one block too much, most probably for trying
	to get around DEV_BSIZE/st_blksize confusion.  Use ST_NBLOCKS,
	instead of computing a variable block_size and doing specific
	tests for HP-UX or Linux.  Also rewrite the test so it works
	when ST_NBLOCKS is unsigned.
	Reported by Bruno Haible, Dean Gaudet, Dick Streefland, Harald
	Koenig, Jim Meyering, Kai Petzke, Kaveh R. Ghazi and Torkel Hasle.

Thu Aug  4 22:03:50 1994  Francois Pinard  (pinard@icule)

	* src/tar.c: Do not include <unistd.h> if we do not have it.
	Reported by Kaveh R. Ghazi.

	* src/Makefile.in (RTAPELIB): Prefix by $U for unprotoization.
	Reported by Kaveh R. Ghazi and Christian T. Dum.

	* src/port.c: Remove many static specifiers.
	Reported by Demizu Noritoshi, Kaveh R. Ghazi and William Bader.

	* src/rtapelib.c (__rmt_open): Replace system by remote, twice.
	Reported by Ben A. Mesander, Christian T. Dum, Demizu Noritoshi
	and Kaveh R. Ghazi.

	* src/tar.c (addname): Replace a forgotten EX_SYSTEM by
	TAREXIT_FAILURE.
	Reported by Demizu Noritoshi, James W. McKelvey, Kaveh R.
	Ghazi and Robert E. Brown.

Tue Aug  2 02:40:23 1994  Francois Pinard  (pinard@icule)

	* Prerelease 1.11.3.

	* Makefile.in (dist, shar): Distribute the scripts directory.

	* src/tar.c (assign_string): New routines.
	* src/create.c (dump_file, start_header), src/extract.c
	(extract_archive), src/list.c (list_archive, read_header),
	src/buffer.c (open_archive), src/diffarch.c (diff_archive): Use
	assign_string for setting these variables to a string value or
	NULL.
	* src/buffer.c (open_archive): Sets current_file_name,
	current_link_name and save_name to NULL.
	(close_archive): Free each of them if not NULL.
	(fl_write): Take a copy of save_name into cursor, and advance the
	cursor instead, because save_name should stay free-able.
	Reported by Dave Gentzel, Harald Anlauf, Mark Clements, Robert
	Weissenfels, Ronald van Loon, Tsutomu Yamada and Vic Abell.

	* src/extract.c (extract_archive): Use xstrdup, for clarity.
	* src/gnu.c (add_dir): Idem.
	* lib/xstrdup.c: New, from elsewhere.
	* lib/Makefile.in: Adjusted.

	* src/list.c (print_header): Correct a little bug by which
	non-symbolic links were not printed properly quoted.

	* src/diffarch.c (diff_archive): Allocate tmpbuf to the proper
	size.  NAMSIZ + 2 is not necessarily enough.

Mon Aug  1 15:49:46 1994  Francois Pinard  (pinard@icule)

	* configure.in: Check for <memory.h>.
	* src/tar.h: Refresh str*/mem* configured declarations.  Among
	other things, this will solve previously missing #undef's.
	* src/rmt.h: Revise strchr configured declaration.
	* src/*.c: Replace bzero by memset, bcopy by memcpy, bcmp by
	memcmp, index by strchr and rindex by strrchr.
	* src/port.c: Delete functions bzero and bcmp, said to not exist
	on Minix.  AC_MINIX in configure.in should guarantee POSIX things.
	Reported by Drew Trieger, Hugh Secker-Walker and Vic Abell.

	* src/tar.h, src/tar.c, src/buffer.c, src/update.c: Change CMD_*
	to COMMAND_*.

	* src/buffer.c (open_archive): Use strcmp to compare archive name
	to `-', instead of doing it explicitely.  Just for clarity.

	* src/tar.h, src/tar.c, src/buffer.c: Replace ar_files by
	archive_name_array, n_ar_files by archive_names and ar_files_len
	by allocated_archive_names.  Replace the index cur_ar_file by
	archive_name_cursor, which is a cursor in archive_name_array.

	* src/tar.c (main): Move the initialization of
	archive_name_array at beginning, taken from options routine.
	Free it at end of main.
	(options): Use xrealloc instead of ck_malloc for archive_name,
	for the already saved names to be preserved.
	Reported by Per Bojsen.

	* src/tar.h, src/tar.c: Replace name_file by namefile_name.
	* src/tar.c: Replace n_ind by name_array, n_indused by names,
	n_indalloc by allocated_names, and n_indscan by name_index.
	Replace namef by name_file, n_argv by names_argv and n_argc by
	names_argc.
	(main): Make an initial allocation for name_array at beginning,
	moved out from name_add, free it at end of main.

	* src/buffer.c (close_archive): Free ar_block at end.

Sat Jul 30 03:12:11 1994  Francois Pinard  (pinard@icule)

	* configure.in: When --with-malloc-dbg, define WITH_MALLOC_DBG and
	add -lmalloc_dbg to LIBS. 
	* acconfig.h: Document WITH_MALLOC_DBG.
	* src/tar.h: Include "malloc_dbg.h" if WITH_MALLOC_DBG is defined.

	* src/create.c (create_archive): Do not attempt creating a
	directory summary file if -G, since -G sets gnu_dumpfile to 0.
	Reported by Alexander Dupuy.

	* src/create.c (dump_file): Avoid a NULL dereference with -G when
	trying to dump an empty directory.
	* src/gnu.c (add_dir_name): Same thing.
	Reported by Rainer Orth.

	Correction for the improper `data differs' diagnostic given when
	the continuation of a multi-volume was compared.
	* src/diffarch.c (diff_archive): If multi-volume, update save_name
	and save_totsize before calling wantbytes.
	* src/buffer.c (wantbytes): If multi-volume, update save_sizeleft.
	Reported by Andreas Schwab, Denis Fortin and Hiroyuki Bessho.

	* configure.in: Try deciding DEVICE_PREFIX and DENSITY_LETTER from
	the selected DEFAULT_ARCHIVE.
	* acconfig.h: Document DEVICE_PREFIX and DENSITY_LETTER.
	* src/tar.c (options): Implement these.
	Reported by Danny R. Johnston.

	* src/gnu.c (gnu_restore): Use CURRENT_FILE_NAME abbreviation.
	* src/extract.c (extract_archive): Idem.
	Reported by Timothy Fossum.

Fri Jul 29 01:02:02 1994  Francois Pinard  (pinard@icule)

	* src/create.c (dump_file): Abort if no memory for a possible
	link, remove related bogus code, and the variable nolinks.
	Reported by Andreas Schwab.

	* src/create.c (dump_file): Detect file sparseness correctly for
	Linux ext2 filesystem.
	Reported by Kai Petzke.

	* src/port.c (link): Do not call setmode when not on MS-DOS.
	Reported by Richard Deal.

	Reorganization for `tar -d' to provide a different exit status.
	* src/tar.h: Replace errors by exit_status.  Declare TAREXIT_*.
	* src/buffer.c (child_open): Exit with exit_status.
	* src/tar.c (main): Initialize exit_status to TAREXIT_SUCCESS, and
	exit with exit_status.
	* src/buffer.c, src/diffarch.c, src/gnu.c, src/list.c, src/port.c,
	src/rmt.c, src/tar.c, src/update.c: Replace EXIT_FAILURE by
	TAREXIT_FAILURE, and EXIT_SUCCESS by TAREXIT_SUCCESS.
	* src/tar.h (ERROR), src/create.c (dump_file): Set exit_status to
	TAREXIT_FAILURE instead of increasing errors.
	* src/diffarch.c (sigh, diff_sparse_files): On differences, set
	exit_status to TAREXIT_DIFFERS if nothing more serious already.
	Reported by Tilman Schmidt.

	* src/rmt.c: Define EXIT_FAILURE and EXIT_SUCCESS if not already.
	* src/rtapelib.c: Define EXIT_ON_EXEC_ERROR to 128 and use it.

	* aclocal.m4: Adapt AC_PROTOTYPES to caching.
	* lib/error.c: Add error_print_progname virtual routine.

	* Using configure as generated by a more recent Autoconf solves a
	problem of rename being rejected on HP-UX in ANSI mode, because of
	a conflicting prototype from <stdio.h>.  In this context, Autoconf
	now uses ctype.c instead for defining __stub macros.
	Reported by Burkhard Plache, Edward Welbourne, Henrik Bakman,
	Jeffrey Goldberg, Jim Farrell, Kimmy Posey, Michael Maass,
	Mike Nolan, Richard Lloyd, Robert McGraw, Robert W. Kim,
	Stefan Skoglund, Tarang Kumar Patel, Tilman Schmidt, Tim
	Ramsey, Van Snyder and W. Phillip Moore.

Wed Jul 27 09:16:01 1994  Francois Pinard  (pinard@icule)

	* src/diffarch.c (sigh): Increment errors, so a difference will
	yield a non-zero exit status at end.
	Reported by Nick Holloway.

	* tar.h: Rename TARERROR to WARN, then add ERROR which is similar,
	but increments the errors counter.
	* *.c: Replace all TARERROR by WARN or ERROR, deciding for each
	case.  Many errors were not reflected in exit status.
	Reported by Carl Streeter, Esa Karell, George Chyu, Ian
	Jackson, Judy Ricker, Massimo Dal Zotto, Tilman Schmidt and
	Torkel Hasle.

	* src/buffer.c (child_open): Exit with EXIT_FAILURE if any error.

	* src/rtapelib.c: Use error for reporting errors.
	(do_command): New name for command.
	(get_status): New name for status.

	* src/buffer.c: Remove definition of MAGIC_STAT.
	(close_archive): Do not check MAGIC_STAT for an exit value, since
	this value is never returned.

	* *.c: Use TARERROR or exit with EXIT_FAILURE, instead of various
	esoteric statuses.  Normalize using TARERROR with an exit status,
	instead of calling TARERROR with 0 first, then _exit.  On exit
	calls, use EXIT_SUCCESS instead of 0.
	* src/tar.c: Do not use the exit status anymore for outputting an
	error counter value.  Wrap around was creating spurious success.
	* src/tar.h: Remove EX_* definitions for tar exit statuses.
	Reported by Bob Mende and Torbjorn Granlund.

Tue Jul 26 03:37:07 1994  Francois Pinard  (pinard@icule)

	* src/tar.h: Add f_rsh_command variable.
	* src/tar.c: Add and process --rsh-command option.
	* src/buffer.c (open_archive, child_open, new_volume): Pass
	f_rsh_command to rmtopen and rmtcreat calls.
	* src/rmt.h (rmtopen, rmtcreat): Pass a supplementary argument.
	* src/rtapelib.c (__rmt_open): Accept and process a command
	argument, to replace rsh.
	Reported by Jonathan I. Kamens.

	* configure.in: Check for <fcntl.h>.  Do not define BSD42, do
	not look anymore if /vmunix, /sdmach or /../../mach exist.
	* acconfig.h: Remove BSD42.
	* tar.h: Instead of including <sys/file.h> with BSD42 or
	<fcntl.h> for V7, merely include <fcntl.h> if it exists,
	otherwise <sys/file.h>.
	* src/buffer.c, src/diffarch.c, src/extract.c, src/list.c,
	src/port.c, src/update.c: Do not include <fcntl.h> or
	<sys/file.h>, because they are indirectly included through
	"tar.h".

	* src/create.c (dump_file): Remove the BSD42 conditional.  If not
	f_sparse_files, initialize upperbound as when not BSD42.
	Reported by Alan Bawden, Claude Scarpelli, Laurent
	Sainte-Marthe, Noah Friedman, Reuben Sumner, Tom Quinn and
	William Bader.

Sun Jul 24 10:42:54 1994  Francois Pinard  (pinard@icule)

	* configure.in: Add gmalloc.o to LIBOBJS, instead of AC_SUBST'ing
	MALLOC.  Check for valloc only if gmalloc.o is not being selected.
	valloc was possibly defined both in "port.h" and GNU malloc.
	* acconfig.h: Add a description for HAVE_VALLOC.
	* src/tar.h: Merely define valloc as being malloc if valloc does
	not exist.
	* src/port.h: Remove valloc, which was only a dummy for malloc.
	* lib/gmalloc.c: New, from elsewhere.  This renames and updates
	what was previously malloc.c.  This also solves __const vs const.
	* lib/Makefile.in: Distribute gmalloc.c.
	Reported by Cliff Krumvieda, Francois Pinard, Henrik Bakman,
	J.T. Conklin, Nelson H.F. Beebe and Tilman Schmidt.

Fri Jul 22 00:05:44 1994  Francois Pinard  (pinard@icule)

	* src/create.c (start_header): Cast NAMSIZ to size_t before
	comparing it to strlen result.
	Reported by Mark Frost.

	* src/tar.c (main): Zero out label_pattern before compiling in
	regular expressions, instead of using uninitialized memory.
	Reported by Holger Teutsch.

	* configure.in: Use provided fnmatch only as a replacement.
	* lib/Makefile.in (LIBOBJS): Get configured list of replacements.
	* src/tar.c: Include fnmatch.h only if unistd.h fails to define
	FNM_PATHNAME.
	* lib/fnmatch.h: Undefine FNM_PATHNAME and FNM_PERIOD, for HP-UX
	defines them in <unistd.h>.
	Reported by Alan Modra, Christian T. Dum, Eddy ?, John
	Oleynick and Richard Lloyd.

	* lib/getdate.y: Acknowledging here a few reports which are
	likely solved by going to an updated version of getdate.y.
	Reported by Andrew A. Chernov, Bruce Evans, Dean Gaudet, Ian
	T. Zimmerman, Jeff Prothero, Mike Nolan, Milan Hodoscek, Peder
	Chr. Norgaard, Sarah Quady, Tarang Kumar Patel and Thomas
	Koenig.

	* configure.in: Check for <sys/io/trioctl.h>, needed for
	defining _IOW and _IOR on the Tektronix XD88.
	* src/buffer.c, src/diffarch.c, src/rtapelib.c, src/update.c:
	Include <sys/io/trioctl.h> before <sys/mtio.h>, if it exists.
	Reported by Kaveh R. Ghazi.

	* src/tar.c (options): Use defined OPTION_* constants instead of
	anonymous numbers for long options not having a short option form.

	* src/rmt.h (RMTIOCTL): Define only if MTIOCTOP, so __rmt_ioctl
	will not be called if it has not been compiled in rtapelib.c.

	* src/tar.h: Add CMD_TOO_MANY.
	* src/tar.c (main): Use CMD_TOO_MANY, and get rid of badopt label.
	Reported by David J. MacKenzie.

	* src/tar.c (usage): New name for describe().  Rewritten with
	better help formatting and more logical grouping of options.
	Accepts an exit status argument.  Callers adapted.
	Reported by Richard O'Neill.

Wed Jul 20 07:57:54 1994  Francois Pinard  (pinard@icule)

	* Makefile.in (BACKLOG): New goal, for summarizing the
	maintainance backlog.  Distribute file BACKLOG.

	* src/port.c (rename): Constify the arguments.
	Reported by Elmar Heeb, Jeff Prothero and John Clark.

	* src/tar.c (main): Declare version_string locally.
	* src/version.c: Deleted.
	* src/Makefile.in: Adjusted.

Tue Jul 19 21:55:21 1994  Francois Pinard  (pinard@icule)

	* src/tar.h: Merge "port.h" towards the beginning of tar.h.
	Include <stdio.h> and <errno.h>, and define errno if needed.
	* src/*.c: Do not include "port.h" anymore after "tar.h", do not
	include <stdio.h>, <errno.h> nor <sys/types.h>.  Also move
	"tar.h" as the first file included in every module.  This
	would solve, among other things, the problem of RE_DUP_MAX
	being redefined by <limits.h>, when included after "regex.h".
	* src/port.h: Deleted.
	* src/Makefile.in: Adjusted.
	Reported by Alan Modra, Christian T. Dum, Dimitris Fousekis,
	John David Anglin, Matthew Braun, Michael Maass, Richard Lloyd
	and Stefan Skoglund.

	* src/create.c (dump_file): Do not cast alloca result to (char *).
	The problem reported was that alloca result was seen as int, but
	with the changes just made, alloca should be properly declared.
	Reported by Bryant Fujimoto and Michael Kubik.

Fri Jul  8 23:44:03 1994  Francois Pinard  (pinard@icule)

	* regex.c, regex.h: Use newer versions.  This solves a few
	problems reported by users.
	Reported by Chris Hopps and John David Anglin.

Wed Jul  6 00:37:18 1994  Francois Pinard  (pinard@icule)

	* configure.in: Check for <utime.h>.
	* src/create.c, src/extract.c: Check HAVE_UTIME_H instead of
	_POSIX_VERSION, for choosing to include <utime.h>.
	Reported by Carl Swanson and Thomas Krebs.

Tue Jul  5 07:36:58 1994  Francois Pinard  (pinard@icule)

	* configure.in:  Substitute DEFAULT_ARCHIVE and DEFAULT_BLOCKING
	from the environment.  Check for /dev/tape first while trying to
	decide the default archive, because it is often symlinked right.
	* acconfig.h: Explain DEFAULT_ARCHIVE and DEFAULT_BLOCKING.
	* src/tar.c: Replace DEF_AR_FILE with DEFAULT_ARCHIVE, replace
	DEFBLOCKING with DEFAULT_BLOCKING.

	* configure.in: Use AC_SET_MAKE.
	* Makefile.in: Use @SET_MAKE@.
	Reported by Jim Meyering.

	* src/rtapelib.c: Replace "??'" by "?? '" at two places in a
	comment, so avoiding Pyramid's DC/OSx compiler to complain about
	ANSI trigraph sequences.  Even comments can trigger bugs, now!
	Reported by Mark Frost.

	* src/tar.h: Declare valloc.
	* src/buffer.c, src/diffarch.c: Remove declaration for valloc.

	* configure.in: Integrate the check, previously in testpad.c,
	about a needed padding field in the tar header struct.
	* testpad.c: Deleted.
	* tar.h: Do not include "testpad.h" anymore.
	* acconfig.h: Explain PADDING_IN_TAR_HEADER.
	* src/Makefile.in: Delete testpad matters.

	* src/buffer.c (new_volume): Inside case 'n', strcpy into r then
	assign r to p, instead of strcpy'ing directly into p, for making
	the module const clean.

Sun Jul  3 11:41:54 1994  Francois Pinard  (pinard@icule)

	Rename a few variables to avoid shadowing variables or functions:
	* src/list.c (print_header): Change name to quoted_name.
	* src/buffer.c (child_open): Change pipe to local_pipe.
	* src/extract.c (extract_archive): Change namelen to namelen_bis.
	* src/rtapelib.c (__rmt_open): Change system to remote.

	* src/tar.c (options): Add two missing arguments to getoldopt
	call, NULL is not necessarily implied on all systems.

	* src/list.c (print_header): Add a few missing long specification
	in formats. 
	* src/diffarch.c (compare_chunk, diff_sparse_files): Idem.
	* src/port.c (msg, msg_perror): Idem.

	* src/tar.h: Include prototypes for all functions which call from
	one module to another.  Declare voidstar (use it everywhere
	instead of PTR).  Move in the include <sys/stat.h> from
	<port.h>, and the include of option.h from tar.c and
	getoldopt.c, waiting for a better solution for all these things.
	* src/port.c: Removed PTR declaration and including <sys/stat.h>.
	* src/getoldopt.c, src/tar.c: Remove including "option.h".

Sat Jul  2 00:26:54 1994  Francois Pinard  (pinard@icule)

	* src/*: Protoized all function headers.  Added static to
	functions which can take it.  Add many const specifiers.  Remove
	unused variables.

	* src/port.c (xmalloc): Delete function, do not mask the true one.
	* src/port.c (ck_malloc): Use xmalloc, waiting for annihilation.
	* src/port.c (ck_realloc): Use xrealloc, waiting for annihilation.
	* lib/xmalloc.c: New file, from elsewhere.
	* lib/Makefile.in: Adjusted.
	* src/*: Begin switching from ck_malloc (or even pure malloc) to
	xmalloc.  Same for ck_realloc (pure realloc) to xrealloc.
	Doing this correctly is a delicate matter, which I'll continue
	without reporting it anymore, while doing other modifications.

	* src/*: Replace msg and msg_perror calls by TARERROR macro calls.
	Capitalize first word of all error messages, remove ending
	punctuation or newline.  Systematically avoid contractions for
	`Cannot' and `Could not'.  Always write `WARNING:' all in capitals.
	* src/tar.h: Declare TARERROR as calling error().  Rename
	variable tar to program_name.
	* src/tar.c (main, options), src/buffer.c (child_open), src/port.c
	(msg, msg_perror), src/gnu.c (gnu_restore): Rename variable tar to
	program_name.
	* src/gnu.c (gnu_restore): Remove a spurious repetition of
	program_name in error message.
	* lib/error.c: New, from elsewhere.
	* lib/Makefile.in: Adjusted.

	* configure.in: Check for -linet, this library is required on
	a few systems for gettimeofday() or getservbyname().
	Reported by Dean Gaudet, Goeran Uddeborg, Mike Rogers and
	Peder Chr. Norgaard.

	* configure.in: Ensure -lsocket is tested after -lnsl.
	Reported by Mark Frost.

	* configure.in: All tests reordered for clarity.

Fri Jul  1 13:35:16 1994  Francois Pinard  (pinard@icule)

	* configure.in: Use AC_TIME_WITH_SYS_TIME, test for <sys/time.h>.
	This should solve the problem of multiple inclusions of <time.h>.
	Also, also check for <sys/timeb.h>, for getdate.y tests this.
	Reported by Jim Meyering, John Rouillard, Karl Berry and Rick
	Emerson.

	* src/buffer.c, src/create.c src/extract.c, src/gnu.c, src/list.c,
	src/names.c, src/rmt.c, src/tar.c, src/update.c: Remove all (void)
	prefixes to function calls.  There are limits to lint clutter.

Thu Jun 30 07:55:22 1994  Francois Pinard  (pinard@icule)

	* src/port.h: Remove definition of const.  Let configure do it.
	* configure.in: AC_CONST was already added since 1.11.2, but no
	ChangeLog entry for it, so here is one, with list of reporters.
	* AIX 3.2 RS/6000 IBM's compiler was unable to compile regex.c,
	this might be solved already through improved Autoconf tests.

	Reported by Alexey Vovenko, Ben A. Mesander, Bryant
	Fujimoto, Christian. T. Dum, Christopher Vickery, Dan Bloch,
	David K. Drum, David Lemson, Demizu Noritoshi, Dimitris
	Fousekis, Ezra Peisach, Hugh Secker-Walker, Indra Singhal,
	J.T. Conklin, Jan Hoeglund, Janice Burton, Jeff Siegel,
	Jim Blandy, John L. Chmielewski, John Rouillard, Jonathan
	N. Sherman, Kevin D Quitt, Kurt Jaeger, Mark Frost, Matthew
	Braun, Michael Kubik, Michael Helm, Moritz D. Klingholz,
	Neil Jerram, Nelson H.F. Beebe, Nick Barron, Paul Eggert,
	R. Scott Butler, Rob Parry, Ron Guilmette, Scott Grosch,
	Sherwood and Stephen Saroff.

	* Makefile.in: Completely replaced, lurking at the previous one.
	At the same time, solve a few minor problems reported by users.
	The most frequently reported ones pertained to a trailing \ in a
	comment, and rmt installing in /etc.
	Reported by Dean Gaudet, Gerben Wierda, James W. McKelvey,
	John L. Chmielewski, Karl Berry, Mike Rogers, Ralf Suckow and
	Richard Lloyd.

	* lib/Makefile.in, src/Makefile.in: New files.
	* configure.in: Also process lib/Makefile.in and src/Makefile.in.
	Substitute CFLAGS, LDFLAGS and YFLAGS from the environment.
	Use AC_CHECKING instead of using echo explicitely.
	Use AC_HEADER_CHECK(unistd.h) instead of obsolete AC_UNISTD_H.

	* configure.in: Generate a configuration header file.  This not
	only puts less clutter in make output, but also goes around some
	compilers' limits about the number of allowed -D options.
	Reported by Nelson H.F. Beebe.

	* acconfig.h: New file.
	* src/tar.h, src/rmt.c, src/rtapelib.c, src/version.c,
	src/testpad.c: Add a block for including <config.h> or "config.h".
	If "tar.h" was included everywhere, the block will only be needed
	there.

	* src/*.[ch]: Reindented to GNU standards (they were not far).
	Got rid of all `* ' left prefixes in comments and refilled them.
	There is still a lot of cosmetic changes needed everywhere.  I
	will not report them any more, doing them along the way of other
	things in the future.

	* Split distribution into a few subdirectories, for easing
	maintainance.  So far: src, lib, scripts, msdos which are to be
	distributed; then rmail, texinfo, ARCH and misc to be kept here.
	* scripts/ChangeLog: Initialized by moving entries related to
	scripts out of this ChangeLog.

	* Taking over maintainance duties.

Tue Aug 31 20:06:40 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)

	* rmt.c [M_UNIX]: Include sys/tape.h instead of sys/mtio.h.
	Reported by Drew Sullivan and William Bader.

Thu Jul 29 20:53:00 1993  David J. MacKenzie  (djm@wookumz.gnu.ai.mit.edu)

	* Makefile.in (config.status): Run config.status --recheck, not
	configure, to get the right args passed.

Mon Jul 19 23:01:00 1993  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)

	* Makefile.in (libdir): Use standard GNU value --
	$(exec_prefix)/lib, not /etc.

Thu Jul  8 20:05:03 1993  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)

	* Makefile.in (installdirs, configure, config.status,
	Makefile): New targets.

Mon Jun 14 07:44:46 1993  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)

	* Makefile.in (.c.o): Put -I. before -I$(srcdir), and make
        $(CFLAGS) last.

Sat May 22 21:33:36 1993  The King  (elvis@graceland.gnu.ai.mit.edu)

	* extract.c (extract_archive, restore_saved_dir_info): Print
	mode in octal, not in decimal.
	Reported by Scott S. Bertilson.

Fri Mar 26 19:30:26 1993  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)

	* configure.in: Better way of detecting HP-UX.
	Reported by Noah Friedman.

Thu Mar 25 13:32:40 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* version.c: Released version 1.11.2.

	* Makefile.in (dist): Do the link differently; some of the
	files have changed filesystems which makes it more complex.

	* Makefile.in (dist, shar): Use gzip instead of compress.

	* create.c (dump_file): Test for curdev==-1, not curdev<0.
	Some losing NFS systems give negative device numbers
	sometimes.

Fri Mar 19 15:05:15 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* buffer.c (new_volume): Write the global volume number to the
	volno file before running the info script, so that the script
	can look at it.

Wed Mar 17 10:30:58 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* tar.c (describe, long_options): Changed --compress-block to
	--block-compress.
	(options): Fixed f_compress_block sanity check error message
	to give the correct name of the option.

Tue Mar 16 14:52:40 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* extract.c (extract_archive): case LF_DIR: Do chown when
	necessary.  Don't bother jumping to set_filestat for
	f_modified; repeat the chmod code here.  Replace `break',
	deleted on 2 September 1992.

	* tar.c (describe, long_options, options): Added gzip options
	and use-compress-program option.
	* tar.h: Added new compression options.
	* buffer.c (child_open, open_archive): Use new compression options.

	* create.c (start_header): Only mask off high bits when
	creating old-style archives.
	* list.c (decode_header): Mask off potentially misleading
	high bits from the mode when reading headers.
	Reported by Paul Eggert.

Mon Mar 15 11:34:34 1993  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* extract.c (extract_archive): Put arguments in the right
	order for error message.
	Reported by Bruno Haible.

	* create.c (deal_with_sparse): If the last byte was null, we
	didn't write it out.

	* gnu.c, create.c, extract.c, diffarch.c, list.c throughout:
	Replace malloc calls with ck_malloc and realloc with ck_realloc.
	Reported by Jonathan Kamens.

	* tar.c (describe): Improve doc for -L.

	* tar.c (name_next): Don't apply exclusion to explicitly named
	files.

	* tar.c (long_options, describe): Added new-volume-script as
	an alias for info-script.

	* extract.c (extract_archive): LF_DUMPDIR case; misplaced paren.

	* extract.c (extract_archive): extract_file case, first if,
	include space for null in namelen computation.

	* extract.c (extract_sparse_file): Use value returned by write
	to properly create error message.

	* create.c (create_archive): Don't assume we have anything to
	dump.

	* buffer.c (open_archive): Set current_file_name for the
	volume header so that verbose listings work properly.

	* Makefile.in (realclean): Added getdate.c.

Thu Jan 14 23:38:44 1993  David J. MacKenzie  (djm@kropotkin.gnu.ai.mit.edu)

	* tar.c: Include fnmatch.h after port.h to make sure we get our FNM_*
	(e.g. on HPUX 8).

Tue Nov 24 08:30:54 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)

	* tar.c (addname), gnu.c (read_dir_file): Use HAVE_GETCWD, not USG.

	* port.h, rmt.h: Use HAVE_STRING_H, not USG.

	* port.h: Add dir header decls.
	* create.c, gnu.c: Use SYSNDIR, SYSDIR, and NDIR
	instead of BSD42 and USG.  Rename DP_NAMELEN to NLENGTH.
	Use `struct dirent' instead of `struct direct'.
	* create.c, gnu.c, tar.c: Remove dir header decls.

Wed Nov 18 15:31:30 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)

	* tar.c: Change FNM_TARPATH to FNM_LEADING_DIR to match change
	in fnmatch.[ch].

Fri Oct  2 00:28:01 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)

	* tar.c (describe): Fix some tab alignments.

	* Makefile.in (SRC3): Add getdate.c, for systems without bison/yacc
	(like MS-DOS).

	* diffarch.c (diff_sparse_files): Add missing arg to fprintf calls.

	* extract.c (extract_archive, restore_saved_dir_info),
	buffer.c (child_open), list.c (decode_header, print_header):
	Delete unused vars.

	* port.c [__MSDOS__]: Have strstr, rename, and mkdir.  Don't
	define ck_pipe.

	* buffer.c, tar.c (init_volume_number, closeout_volume_number),
	create.c (write_long): 	Declare as void, not int, since they
	don't return a value.

Tue Sep 22 14:15:48 1992  Michael I Bushnell  (mib@wookumz.gnu.ai.mit.edu)

	* buffer.c (close_archive): Removed leftover `break' from when
	this was a switch.

Tue Sep 22 08:33:16 1992  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)

	* create.c, port.h: indented #pragma directives with 1 space.

Fri Sep 18 14:15:17 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* All source files: re indented using GNU indent.

	* rtapelib.c (__rmt_read): Only read the amount left in the
	buffer; otherwise a broken rmt server (which puts too much
	data out) could overwrite past our buffer.

Thu Sep 17 14:08:58 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* create.c: Throughout, use struct utimbuf rather than array
	of longs.
	Reported by J.T. Conklin.

	* configure.in: Check for getpwuid and getgrgid.
	Reported by J.T. Conklin.

	* Makefile.in (SRC3, AUX): Move alloca.c to SRC3.
	(OBJ3): Add @ALLOCA@.

	* Makefile.in (getdate.c): Look in srcdir for getdate.y.

	* buffer.c (close_archive): We can't check WTERMSIG
	meaningfully unless we already know tha WIFSIGNALED is true.
	(There is no guarantee it WTERMSIG will return zero when
	WIFSIGNALED is false.)
	* port.c (rmdir, mkdir): Check WIFSIGNALED rather than
	WTERMSIG.

	* Makefile.in (getdate.c): Use $(YACC) instead of `yacc'.

Tue Sep 15 14:49:48 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* version.c: Released version 1.11.1.

	* Makefile (AUX): Added NEWS.

	* Makefile.in (rmt): Added $(LIBS).
	* configure.in: Added tests for libraries needed on Solaris.

	* mangle.c (extract_mangle): Null terminate link name for
	losing archives missing it.

	* Makefile.in: added target and rule for getdate.c: getdate.y;
	some makes don't have one built in.

Mon Sep 14 16:23:15 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* tar.c (options, main): Advise use of --help rather than
	+help.
	Reported by J.T. Conklin.

	* create.c (write_long): Using hstat here is a Bad Idea, and
	totally unnecessary at that.

	* list.c (read_header): Compute both signed and normal
	checksums.
	Reported by Robert E. Brown.

	* configure.in: Define BSD in the presence of /sdmach or
	/../../mach.
	Reported by Robert E. Brown.

	* diffarch.c, buffer.c: Declare valloc as void* rather than
	char*.
	Reported by Robert E. Brown.

	* Makefile.in: Don't install info files.

	* configure.in: Check for malloc was scrambled.

	* port.h: Undefine index and rindex if necessary; some
	string.h's define them for us.

	* tar.c (addname): Missing braces after if.
	* gnu.c (read_dir_file): Missing braces after if.

	* names.c: Add include of <stdio.h>,

	* create.c (start_header): Set current_file_name so that
	print_header (used for verbose create) works properly.
	(dump_file): Set current_link_name when setting up symlink
	and hardlink records.
	Reported by Robert Crowe.

Fri Sep 11 01:05:52 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* fnmatch.[ch]: New files.
	* wildmat.c: File removed.
	* tar.c: Include fnmatch.h and use fnmatch instead of wildmat.
	* Makefile.in, makefile.pc: Replace wildmat.o(bj) with fnmatch.

Thu Sep 10 23:19:30 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* buffer.c, tar.c: Remove redundant decls of getenv, rindex.

	* Makefile.in: Add uninstall target.
	Define libdir instead of hardcoding /etc for installing rmt.

Thu Sep 10 13:06:03 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* list.c (read_header): On second thought, that doesn't work
	either, so just store the names in malloced areas.  Sigh.

	* NEWS: New file.
	* README: Removed things that belong in NEWS; point to it.

	* list.c (read_header): current_file_name and
	current_link_name need to be set to the arrays in head rather
	than header; header is the actual read buffer and will change.

	* extract.c (extract_archive):
	* buffer.c (new_volume): `#' directives need to start in
	column 1.
	Reported by J.T. Conklin.

Wed Sep  9 13:34:26 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* version.c: Release of version 1.11.

	* Makefile.in (AUX): Add getpagesize.h.
	(AUX): Comment out manuals.
	(all): Comment out dependency on tar.info.

	* Makefile, configure.in: Arrange to use local malloc on HP-UX.

	* port.h Use the canonical Autoconf chunk for alloca instead
	of just	looking for gcc.

Wed Sep  9 03:16:58 1992  Noah Friedman  (friedman@nutrimat.gnu.ai.mit.edu)

	* port.h: If compiling with gcc, use __builtin_alloca.

Tue Sep  8 16:13:41 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* extract.c: Removed long name support from here.
	* list.c (read_header): Understand and skip longname/longlink
	headers here.  Names for current file are stored in new global
	variables.  All source files except create.c changed to refer
	to current_file_name and current_link_name instead of fields
	directly from the current header.

Thu Sep  3 12:41:08 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* create.c (write_long): New function.
	(dump_file): When writing link records or symlink records, use
	new write_long function instead of mangling when the link
	target is too long.
	(start_header): Use write_long instead of mangling for long
	names.
	* extract.c (saverec): Recognize LF_LONGNAME and LF_LONGLINK.
	(saverec): Throughout, use longname and longlink if they are set.

Wed Sep  2 14:41:13 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* mangle.c: This is now deprecated; retain extract_mangle for
	backward compatability.

	* list.c (print_header): Prevent printing 0 when the gid or uid is
	null.
	Reported by Chris Arthur.

	* list.c (decode_header): Use the gid field when the gid is empty,
	and similarly for uid.
	Reported by Chris Arthur.

	* extract.c: saved_dir_info, saved_dir_info_head: new type and
	var.
	(extract_archive): When extracting directories, now save info
	in saved_dir_info_head.
	(restore_saved_dir_info): New function.
	* list.c (read_and): Call restore_saved_dir_info at the end of
	the run.
	Reported by Chris Arthur.

Mon Aug 31 15:39:55 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* create.c (create_archive): If there are no names specified,
	write nothing on the archive instead of dumping ".".

	* buffer.c (open_archive): Useful error message.

 	* tar.c, tar.h: Recognize f_atime_preserve.
	* create.c (dump_file): Implement f_atime_preserve.

	* rmt.h (_remdev): Don't require /dev/ to be in remote archive
	names; obey new force-local flag.
	* tar.c, tar.h: Implement new force-local flag.
	Reported by Roland Schemers III.

	* tar.c (describe): same-owner and same-order were confused.

	* create.c (dump_file): Check for toplevel had sense reversed.

	* buffer.c (new_archive): Don't free old_name...when these
	come from the command line, they aren't malloced, and it isn't
	important to save this trivial amount of memory.

	* tar.h: replace ar_file with ar_files, n_ar_files,
	cur_ar_files.
	* buffer.c (open_archive): multi-volume compressed archives
	never worked; give an appropriate error.  Change open of
	ar_file to open of ar_files[0].
	(writeerror, readerror, flush_archive): use
	ar_files[cur_ar_file] instead of ar_file.
	(new_archive): Necessary changes to support ar_files.
	* tar.c (options): handle multiple tape drive arguments.

Fri Aug 28 17:42:13 1992  Michael I Bushnell  (mib@wookumz.gnu.ai.mit.edu)

	* list.c (decode_header), create.c (start_header), tar.h (TMAGIC):
	Undo djm's changes below; tar does not support the final
	Posix.1 format; it's bad to make it look like it does.

Sun Jul 19 02:13:46 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* port.h: Try to prevent redefining major.
	* port.c: HAVE_BZERO -> minix.  Fix a typo.

	* list.c (decode_header): Recognize the final POSIX.1 magic as
	well as the early draft magic for ustar.
	* create.c (start_header): Create a final POSIX.1 magic string
	instead of an early draft string for ustar.
	* tar.h (TMAGIC): Remove the trailing blanks.

	* rmt.c, rtapelib.c: Use POSIX and STDC headers if available.
	* rmt.h: Declare the external functions defined in rtapelib.c.

Tue Jul 14 00:44:37 1992  David J. MacKenzie  (djm@apple-gunkies.gnu.ai.mit.edu)

	* pathmax.h: New file.
	* port.h: Include it.
	* create.c (create_archive): Allocate PATH_MAX instead of
	NAME_MAX for temporary buffer so we don't have to figure out
	what NAME_MAX is (portably).

Fri Jul 10 08:30:42 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* gnu.c (collect_and_sort_names): write_dir_file has no argument.

Mon Jul  6 20:11:32 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* port.c (rename): If unlinking the source at the end fails,
	unlink the destination instead to avoid leaving a mess.

Fri Jul  3 15:16:42 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* buffer.c, diffarch.c, update.c, rtapelib.c: Change NO_MTIO to
	HAVE_SYS_MTIO_H.

	* port.c, tar.h: Change FOO_MISSING to HAVE_FOO.

Tue Jun 23 23:39:02 1992  David J. MacKenzie  (djm@goldman.gnu.ai.mit.edu)

	* rmt.c: Add #ifdefs to work on ISC.

Wed May 20 00:12:27 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)

	* port.h: Define major, minor, makedev if the system doesn't.

Wed May 13 21:16:38 1992  Michael I Bushnell  (mib@apple-gunkies.gnu.ai.mit.edu)

	* gnu.c (add_dir_name): Store legitimate value into
	dir_contents when get_dir_contents returns NULL.

Thu May  7 23:44:35 1992  Michael I Bushnell  (mib@apple-gunkies.gnu.ai.mit.edu)

	* gnu.c (add_dir_name): Check for return of NULL from
	get_dir_contents; see djm's change of Fri Jul 26 01:12:58 1991.

Mon May  4 22:50:57 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)

	* tar.h: Make comments for option names say -- instead of +.

Wed Apr 29 14:23:10 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* tar.c, tar.t: Added +volno-file option.
	buffer.c: New functions init_volume_number,
	closeout_volume_number.
	tar.c (main): Call new functions in the right place.

	* buffer.c (fl_write, fl_read): Mod to allow losing tape
	drives which use short counts to indicate end of tape
	correctly handle the multi-tape stuff.  The read half won't
	co-exist with f_reblock; there's no way to fix that, of
	course.

	* tar.c, tar.h: Added new option +show-omitted-dirs.
	list.c (read_and): Implemented show-omitted-dirs.
	Reported by Karl Berry.

	* tar.c, tar.h: Added new option +checkpoint.
	buffer.c (fl_read, fl_write): Implemented +checkpoint lazily.

	* create.c (dump_file): Added toplevel argument; some devices
	can be negative, so the old method was bogus.  All callers
	changed.

	* tar.c, tar.h: Added new option +ignore-failed-read.
	create.c (dump_file): Implemented +ignore-failed-read.
	Reported by Bob Mende Pie.

	* create.c (finish_sparse_file): Commented out debugging printf.

	* tar.c, tar.h: Added new option +remove-files to delete files
	after they are added to the archive.
	create.c (dump_file): Implemented +remove-files for
	everything but directories.  I don't think they need it.

Tue Apr 28 13:21:42 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* create.c: (dump_file): save_name needs to be set equal to p,
	not something inside the header, because the header changes at
	the first buffer flush.

Fri Apr 24 10:41:13 1992  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* create.c: Djm incorrectly moved the include of port.h to
	precede the include of sys/file.h; restored.

	* tar.c (main): Cases CMD_EXTRACT and CMD_LIST: declare error
	string with const.

	* gnu.c (collect_and_sort_names): Leave if around
	write_dir_file in place.

Wed Apr 22 02:16:14 1992  David J. MacKenzie  (djm@churchy.gnu.ai.mit.edu)

	* rtapelib.c: SIGTYPE -> RETSIGTYPE.

Mon Mar  9 22:42:05 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* rtapelib.c: Reformat and make comments more complete.
	Rename a few variables for clarity.

Thu Mar  5 14:07:34 1992  David J. MacKenzie  (djm@nutrimat.gnu.ai.mit.edu)

	* tar.c (describe): Document long options as starting with --.

Thu Jan 23 22:54:41 1992  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* tar.c (options): Check get_date return value for error indication.

Tue Dec 24 00:03:03 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* tar.c, gnu.c, extract.c, create.c, port.h, rmt.h: Change
	POSIX ifdefs to HAVE_UNISTD_H and _POSIX_VERSION.

Fri Dec 20 13:50:38 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* testpad.c (main): flush stderr so perror and fprintf
	cooperate right.

Wed Dec 18 16:52:42 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* port.h: Check MAJOR_IN_MKDEV and MAJOR_IN_SYSMACROS to find
	where to get major, minor and makedev.
	* create.c, list.c, update.c: Don't check USG to include
	sys/sysmacros.h.

Thu Dec 12 21:57:10 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* mangle.c (extract_mangle): Correctly null terminate name of
	link target.

Thu Nov 21 07:44:18 1991  Michael I Bushnell  (mib at nutrimat)

	* create.c (dump_file, at start of ISREG output loop): use
	filename from header instead of real name to make sure that we
	get the mangled version and not one that is too long and
	overflows buffers.

Sat Nov 16 01:37:45 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* tar.h: Use new criteria for STDC version of msg.

Sat Nov  2 21:31:57 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* create.c, gnu.c, tar.c: Use DIRENT instead of NDIR to select
	between dirent.h and ndir.h for USG.

	* port.c: Rename WANT_FOO to FOO_MISSING to make sharing code
	and configure script with other utilities easier.  Use
	VPRINTF_MISSING and DOPRNT_MISSING instead of FOO_MSG to
	select error reporting routines.

Thu Aug 29 00:54:01 1991  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* tar.c (long_options).  Fixed info-script long option.
	Reported by Eric Norum.

Mon Aug 26 16:53:50 1991  David J. MacKenzie  (djm at pogo.gnu.ai.mit.edu)

	* configure, Makefile.in: Only put $< in Makefiles if VPATH
	is being used, because older makes don't understand it.

Mon Aug 19 01:47:57 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* create.c: Indent '#pragma alloca' so non-ANSI compilers
	don't choke on it.

Wed Aug 14 14:10:43 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)

	* list.c (UGSWIDTH): Increase from 11 (sort of like Unix tar) to
	18, so that with normal user and group names of <= 8 chars,
	the columns never shift in a tar -t listing.

Fri Aug  2 00:41:08 1991  David J. MacKenzie  (djm at apple-gunkies)

	* Makefile.in (dist): Include texinfo.tex and tar.info*.
	(install): Install tar.info*.
	* configure: Set INSTALLDATA.

	* configure: Create config.status.  Remove it and Makefile if
	interrupted while creating them.

	* configure: Check for +srcdir etc. arg and look for
	Makefile.in in that directory.  Set VPATH if srcdir is not `.'.
	* Makefile.in: Add `prefix'.
	(tar.info): New target.

Tue Jul 30 17:08:04 1991  David J. MacKenzie  (djm at apple-gunkies)

	* configure: NEED_TZSET has become FTIME_MISSING.

Mon Jul 29 19:23:10 1991  David J. MacKenzie  (djm at wombat.gnu.ai.mit.edu)

	* port.c [F_CHSIZE]: Additional version.

Sat Jul 27 22:27:47 1991  David J. MacKenzie  (djm at wombat.gnu.ai.mit.edu)

	* rmt.h: Clean up ifdefs.

	* makefile.pc: Fix typo.
	port.h: Change MSDOS to __MSDOS__.
	[__MSDOS__]: Define off_t.  Include io.h and not sys/param.h.
	[__TURBOC__]: Use void * and don't define const.

Fri Jul 26 01:12:58 1991  David J. MacKenzie  (djm at bleen)

	* buffer.c: Rename `eof' to `hit_eof' to avoid conflict with an
	MSDOS function.
	* gnu.c (get_dir_contents): Return NULL, not "\0\0\0\0", on error.
	* diffarch.c (diff_archive): Open files in binary mode.
	Don't use or free a non-malloc'd return value from get_dir_contents.
	* msd_dir.c [__TURBOC__]: Include stdlib.h.
	* rmt.h: lseek returns off_t, not long.

	* tar.c (describe): -X is +exclude-from, not +exclude.
	(names_notfound): Free memory only if amiga, not !unix.

	* tar.h, tar.c: Add +null option to make -T read
	null-terminated filenames (such as those produced by GNU find
	-print0), and disable -C option.
	This guarantees that odd filenames will get archived.
	* tar.c (read_name_from_file): New function.
	(name_next): Call it instead of fgets.
	From David J. MacKenzie.

Wed Jul 24 11:17:48 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* create.c [_AIX]: Declare alloca.

	* buffer.c (open_archive): Check for successful open before,
	not after, fstatting the fd.

Tue Jul 23 20:51:31 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* configure: Only define BSD42 if sys/file.h exists.
	If alloca is missing and /usr/ucblib exists (SVR4), use it
	instead of -lPW.

	* port.h [!__STDC__]: #define const.
	* gnu.c (dirent_cmp): Fix args to agree with ANSI C prototype.
	* create.c: Declare ck_realloc.
	* gnu.c, diffarch.c: Move check for symlinks to after port.h include.

Sat Jul 20 00:03:54 1991  David J. MacKenzie  (djm at apple-gunkies)

	* msd_dir.[ch]: Use POSIX-style `struct dirent' instead of
	`struct direct'.
	* create.c, gnu.c, tar.c: Adjust callers.

Thu Jul 18 00:05:01 1991  David J. MacKenzie  (djm at bleen)

	* port.c (ck_malloc, ck_realloc): Return PTR, not char *.
	* gnu.c, create.c, tar.c: Fix decls.

	* port.c: Don't use the preprocessor to guess missing
	functions on Unix; let configure do it.
	[WANT_GETWD] (getwd): Function removed; not needed because
	getcwd is used if needed.
	* gnu.c, tar.c: Use getcwd if POSIX.

	* rtapelib.c: Use SIGTYPE instead of testing SIGNAL_VOID.
	Default to void (more common these days) instead of int.

	* tar.c, gnu.c, mangle.c: Remove VOIDSTAR defn.  Use PTR instead.
	* port.h: Define PTR.

	* gnu.c, tar.c [__MSDOS__ || USG]: Remove incorrect getcwd
	decl; put correct one in port.h [!POSIX].

	* tar.c (describe): Print on stdout instead of stderr; it's
	not so much a usage message (since you have to ask for it
	explicitly) as on-line help, and you really need to be able to
	page it because it's more than a screen long.

	* Make #ifdefs for sys/file.h or fcntl.h, directory header,
	sys/mtio.h consistent between files.  Use NO_MTIO instead of
	tricks with USG and HAVE_MTIO and NO_RMTIOCTL.
	* Move decls of ANSI C and POSIX functions to port.h and
	use standard headers to declare them if available
	[STDC_HEADERS or POSIX].
	* Add many missing function declarations and return types.
	* Some places used __MSDOS__, some MSDOS; standardize on __MSDOS__.
	* Change S_IF macros to S_IS for POSIX.
	* port.h: Define appropriate S_IS macros if missing.
	* port.h: Rename macros for testing exit status to conform to
	POSIX; use the system's versions if available [POSIX].
	* Use POSIX PATH_MAX and NAME_MAX instead of MAXPATHLEN and MAXNAMLEN.
	* port.h: Define PATH_MAX and NAME_MAX.
	* create.c, gnu.c, tar.c: Use ck_malloc and free instead of
	auto arrays of size PATH_MAX or NAME_MAX, since with pathconf
	they might not be constants.
	* Move all definitions of O_* to port.h to reduce redundancy.
	* Make all source files that now need to include port.h do so.
	* port.c: Remove #undefs of WANT_* so you can use -DWANT_*
	when compiling, instead of having to edit port.c.
	[WANT_DUMB_GET_DATE] (get_date): Function removed.
	Even systems without bison can get bison output and compile it.
	[WANT_STRING] (index, rindex, bcopy, bzero, bcmp): Functions
	removed; the translation is now done by macros in port.h.
	* wildmat.c (wildmat): Use POSIX.2 '!' instead of '^' to negate
	character classes.

Mon Jul 15 13:47:45 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* testpad.c (main): Return type void.

	* port.c [WANT_STRING]: Don't include memory.h if NO_MEMORY_H.

	* create.c (dump_file) [AIX]: Fix typo, `allocate' for `alloca'.
	* gnu.c (collect_and_sort_names): Move misplaced brace out of #ifdef.
	Reported by Minh Tran-Le.

	* configure: Also look in sys/signal.h for signal decl.

Wed Jul 10 01:42:55 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* Rename rtape_server.c to rmt.c and rtape_lib.c to rtapelib.c.

	* configure, Makefile.in: $(INSTALLPROG) -> $(INSTALL).

Tue Jul  9 01:38:37 1991  David J. MacKenzie  (djm at wookumz.gnu.ai.mit.edu)

	* Most files: Refer to GPL version 2.
	* COPYING: Use version 2.

	* port.c [__TURBOC__] (utime): New function.

	* xmalloc: New function (just calls ck_malloc), for alloca.c
	and bison.simple (in getdate.y output).

	* Makefile.in (AUX): Include alloca.c and tcexparg.c, a
	command line globber for Turbo C.

Mon Jul  8 14:30:52 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)

	* testpad.c: Open and write to testpad.h instead of stdout,
	because some MS-DOS makes (Borland's at least) can't do
	redirection in commands.
	* Makefile.in: Don't redirect testpad output.

Mon Jul  8 12:56:35 1991  Michael I Bushnell  (mib at churchy.gnu.ai.mit.edu)

	* buffer.c (fl_read): Missing \n in printf.

Mon Jul  8 03:40:28 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)

	* create.c, extract.c, gnu.c, diffarch.c, tar.c: Comment out
	unused variables.

	* tar.c (options): Cast get_date arg to VOIDSTAR instead of
	`struct timeb *', since on some non-BSD systems the latter is
	undefined.

Sat Jul  6 04:53:14 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)

	* Replace Makefile with configure, Makefile.in, and makefile.pc.
	Update README with current compilation instructions.

	* port.c [WANT_RENAME] (rename): New function.

Wed Jul  3 18:10:52 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* testpad.c (main): Avoid warning from some compilers on array
	address.

	* rtape_server.c (sys_errlist): Should be declared extern.

Mon Jul  1 14:14:06 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* Release of version 1.10; appropriate changes to README.

	* create.c: Removed printf's about sparse files.

Fri Jun 21 23:04:31 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* list.c (skip_extended_headers): Userec was being called in
	the wrong place.

Thu Jun 20 19:10:35 1991  David J. MacKenzie  (djm at geech.gnu.ai.mit.edu)

	* tar.h: Use ANSI prototypes for msg and msg_perror if
	STDC_MSG is defined, even if BSD42 is also.

	* Makefile: Replace DESTDIR with bindir.
	(install): Don't install tar.texinfo.  There's no standard
	place for texinfo files, and /usr/local/man is inappropriate.
	Add TAGS, distclean, and realclean targets and SHELL= line.

	* version.c: Move old change history to bottom of ChangeLog.

Wed Jun 12 12:43:58 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* rtape_lib.c (__rmt_write): #ifdef should reference
	SIGNAL_VOID, not USG.

Wed Jun  5 14:57:11 1991  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* tar.c (name_match, addname): Ugly hack to handle -C without
	any files specified.
	tar.h (struct name): New field for ugly hack.

Mon Jun  3 14:46:46 1991  Michael I Bushnell  (mib@geech.gnu.ai.mit.edu)

	* testpad.c: New file to determine if we need special padding
	in struct header in tar.h.

	* tar.h (struct header): include padding if necessary, include
	testpad.h.

	* Makefile: rules to create testpad.h, etc.

Wed May 22 16:02:35 1991  Michael I Bushnell  (mib@churchy.gnu.ai.mit.edu)

	* tar.c (options): -L takes an argument.

	* rtape_lib.c (__rmt_open): add /usr/bin/nsh to the list of
	remote shell programs.

	* create.c: define MAXPATHLEN if we don't get it from a system
	header file.

	* create.c (deal_with_sparse): return a real return value if
	we can't open the file.

	* tar.c (long_options): +newer takes an argument.
	(describe): fix printing in various trivial ways

Tue May 21 17:15:19 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* tar.c (long_options): +get and +concatentate don't require arguments

Mon May 20 15:55:30 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* create.c (write_eot): Don't try and write an EOF if we are
	already at one.

	* port.c (strstr): Looking for null string should return zero.

Sun May 19 22:30:10 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* tar.c (options): -l doesn't take an argument

	* Makefile: Minor fix for SGI 4D defines.
	Reported by Andrew Torda.

	* rtape_server.c (main.c): For 386/AIX.  I'm suspicious about this
	one.
	* create.c (dump_file): For hidden files on AIX.
	gnu.c (collect_and_sort_name, get_dir_contents): AIX hidden file mod.
	Reported by Minh Tran-Le.

	* tar.c: (name_next): Allow -C inside a file list given to -T.
	Reported by David Taylor.

	* Makefile: Comment describing presence of USE_REXEC.

	* extract.c (extract_archive, case LF_SPARSE): zero check for
	last element on numbytes needs to look at value after
	converted from octal.

	* port.c: Don't always demand strstr, check for HAVE_STRSTR
	instead.
	Makefile: Comment describing presence of HAVE_STRSTR option.

Sun May 19 18:39:48 1991  David J. MacKenzie  (djm at churchy.gnu.ai.mit.edu)

	* port.c (get_date): Renamed from getdate, to avoid SVR4 conflict.
	* tar.c: Call get_date instead of getdate.

Fri May 10 02:58:17 1991  Noah Friedman  (friedman at nutrimat)

	* tar.c:  added "\n\" to the end of some documentation strings
	where they were left off.

Thu May  9 17:28:54 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* Makefile: added level-0, level-1, and backup-specs to AUX.
	* version.c: changed to 1.10 beta.
	* README: updated for 1.10 beta release.

Tue Apr  2 12:04:54 1991  Michael I Bushnell  (mib at godwin)

	* create.c (dump_file): HPUX's st_blocks is in 1024 byte units
	instead of 512 like the rest of the world, so I special cased
	it.
	* tar.c: Undo Noah's changes.

Mon Apr  1 17:49:28 1991  Noah Friedman  (friedman at wookumz.gnu.ai.mit.edu)

        (This ought to be temporary until things are fixed properly. )

	* tar.c: (struct option long_options):  flag for "sparse" zero if
	compiling under hpux.
	tar.c: (functon options): case 'S' is a no-op if compiling under
	hpux.

Sat Mar 30 12:20:41 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* tar.h: new variable tape_length.

	* tar.c (options): add new option +tape-length / -L.

	* buffer.c (fl_write): Turn #ifdef TEST code for limited tape
	length on always, for tape-length option.

	* create.c (dump_file): avoid apollo lossage where S_IFIFO == S_IFSOCK.

	* buffer.c: include regex.h
	* buffer.c (fl_read, open_archive): Use regex routines for
	volume header match.
	* xmalloc.c: removed file; wasn't necessary.
	* tar.c: (main) use ck_malloc instead of xmalloc.

Thu Mar 28 04:05:05 1991  Noah Friedman  (friedman at goldman)

	* regex.c, regex.o: New links.
	* tar.c: include regex.h.
	* Makefile (OBJ2): Add regex.o.
        (regex.o, tar.o): Depend on regex.h
        (SRC2, AUX): Add the new files.

Sat Mar 23 15:39:42 1991  Noah Friedman  (friedman at wookumz.gnu.ai.mit.edu)

	* Makefile: added default flags and options for compiling under
	hpux.

	* Added files alloca.c and xmalloc.c.

Sat Mar 23 14:35:31 1991  Michael I Bushnell  (mib at geech.gnu.ai.mit.edu)

	* port.c: Define WANT_VALLOC in HPUX.

Fri Mar 15 06:20:15 1991  David J. MacKenzie  (djm at geech.ai.mit.edu)

	* rtape_lib.c: If USG and not HAVE_MTIO, define NO_RMTIOCTL
	automatically.
	(_rmt_rexec): Temporarily re-open stdin and stdout to
	/dev/tty, to guarantee that rexec() can prompt and read the
	login name and password from the user.
	* Makefile: Mention -DUSE_REXEC.
	Reported by Pascal Meheut.

Fri Mar  8 20:15:11 1991  Michael I Bushnell  (mib at wookumz.ai.mit.edu)

	* tar.h, Makefile:  Makefile CPP macro HAVE_SIZE_T might be
	useful for some people.

	* gnu.c: lstat->stat define where appropriate

	* buffer.c (fl_write): keep track of amount written for +totals.
	* tar.c, tar.h: set flag f_totals from +totals option
	* tar.h (f_totals, tot_written): new variables
	* tar.c (main): print total written with CMD_CREATE

	* tar.c (main): return appropriate exit status

Thu Jan 17 00:50:21 1991  David J. MacKenzie  (djm at apple-gunkies)

	* port.c: Remove a spurious `+' between functions (a remnant
	of a context diff, apparently).

Wed Jan  9 19:43:59 1991  Michael I Bushnell  (mib at pogo.ai.mit.edu)

	* create.c (where_is_data): Rewritten to be better, and then
	#ifdef-ed out.
	(deal_with_sparse): Severly pruned.  Now we write or don't
	write only complete blocks, not worrying about partial blocks.
	This simplifies calculations, removes bugs, and elides the
	second scan through the block.  The first was zero_record, the
	second was where_is_data.

Mon Jan  7 17:13:29 1991  Michael I Bushnell  (mib at wookumz.ai.mit.edu)

	* create.c (deal_with_sparse): Second computation (for short
	reads) of numbytes increment had subtraction backwards.
	Need to handle calling where_is_data better when we did a
	short read (it might go past the end of the read), also, set
	sparsearray[...].offset in this case too.

Fri Jan  4 12:24:38 EST 1991	Jay Fenlason (hack@ai.mit.edu)

	* buffer.c: Return a special error code if the archive
	you're trying to read starts with a different label than
	the one specified on the command line.

Wed Jan  2 12:05:21 EST 1991	Jay Fenlason (hack@ai.mit.edu)

	* gnu.c: Prepend the current directory to the gnu_dumpfile, so that
	-C's won't affect where the output goes. (sigh.)

Tue Dec 18 18:05:59 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* gnu.c: Don't complain if the gnudumpfile we're reading info
	from doesn't exist.

	* create.c: Write out gnudumpfile after finishing writing the archive.

	* tar.c: Add +exclude FNAME, and make +exclude-from do what +exclude
	used to.
	* Make +version an operation, not an option.
	* Add +confirmation alias for +interactive.

Tue Dec  4 13:28:08 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c (check_exclude): Don't let MUMBLE match MUMBLE.c or
	fooMUMBLE but only foo/MUMBLE.

	* mangle.c: New file.
	* create.c, extract.c: According changes.

	* extract.c: Don't complain when extracting an already existing link.
	Don't complain when extracting a directory iff it already exists.
	Don't ad u+wx to directories when running as root.
	Reported by Chip Salzenberg.

	* gnu.c: Make +listed-incremental work.
	Reported by Chip Salzenberg.

	* port.c: Add the F_FREESP emulation of the ftruncate syscall.

Wed Nov 21 15:57:07 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	Remove excess \n from lots of msg() calls.

Mon Nov 19 14:09:43 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c: Rename +volume to +label.

Fri Nov 16 15:43:44 1990  David J. MacKenzie  (djm at apple-gunkies)

	* tar.c (describe): Include the default values for -b and -f
	(as set in the Makefile) in the message.

Thu Nov 15 13:36:45 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* extract.c (extract_archive): Do the utime() call before the
	chmod() call, 'cuz some versons of utime() trash the file's mode
	bits.

	* list.c (read_and): Call do_something on volume headers and
	multivol files even if they don't match the names we're looking
	for, etc.

Tue Nov  6 13:51:46 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* port.c (un-quote-string): Don't try to write a null if there's
	already one there.

Thu Nov  1 14:58:57 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* buffer.c (new_volume): fflush(msg_file) before reading for
	confirmation on new volume.  On EOF or error, print error msg and
	abort.

Mon Oct 29 12:06:35 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* getdate.y: Use new version of getdate().

	* tar.c (name_add): Use sizeof(char *) instead of sizeof(int)

	* README: Give the correct return address.

Thu Oct 25 16:03:58 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	rtape_lib.c: Change RMTIOCTL to NO_RMTIOCTL, so it is on by default.

	rmt.h: Add _isrmt() #define for NO_REMOTE case.

	gnu.c: Add forward reference for add_dir_name().

Tue Oct 16 11:04:52 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	Version 1.09 --- New -G file implementation of gnu-dump stuff.

	* tar.c (name_add): Get the calls to ck_realloc and ck_malloc right.

Thu Oct 11 11:23:38 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* gnu.c: Fix A couple of typos.

Wed Sep 19 13:35:03 1990  David J. MacKenzie  (djm at apple-gunkies)

	* getdate.y [USG] (ftime): Use `daylight' unless DAYLIGHT_MISSING
	is defined.

Mon Sep 17 18:04:21 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* gnu.c (gnu_restore): Don't use a passed char* for the
	file name, use skipcrud+head->header.name, just like everything
	else does.  This means that gnu_restore will still work with
	small buffers, etc.

Thu Sep 13 15:01:17 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c (add_exclude): Don't bus-error if the exclude file doesn't
	end with a newline.

Sun Sep  9 22:35:27 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* Makefile (dist): Remove .fname when done.

Thu Sep  6 12:48:58 EDT 1990	Jay Fenlason (hack@ai.mti.edu)

	* gnu.c (gnu_restore): Rember to skip_file() over the directory
	contents, even if we don't have to do anything with them.

	* create.c, extract.c, diffarch.c: Free sparsearray after we're
	done with it.

Tue Sep  4 10:18:50 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* Makefile: Include gnu.c in dist

	* gnu.c: Move add_dir above read_dir_file so that cc doesn't
	complain about add_dir returning void.

Sun Sep  2 20:46:34 1990  David J. MacKenzie  (djm at apple-gunkies)

	* getdate.y: Declare some more functions and add storage
	classes where omitted to shut compiler up.
	[USG] (ftime): Don't use extern var `daylight'; appears that
	some systems don't have it.

Wed Aug 29 00:05:06 1990  David J. MacKenzie  (djm at apple-gunkies)

	* getdate.y (lookup): In the code that allows `Aug.' to be
	recognized as `Aug', don't chop off the final `.' from words
	like `a.m.', so they can be recognized.

Thu Aug 16 11:34:07 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* buffer.c (open_archive): If -O, write verbosity to stderr
	instead of stdout.

Fri Aug 10 12:29:28 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* getdate.y: Handle an explicit DST in the input string.
	Reported by Per Foreby.

Mon Jul 16 13:05:11 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c: rename -g -G +incremental, +listed-imcremental, etc.

Fri Jul 13 14:10:33 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c: Make +newer and +newer-mtime work according to their names.

	* gnu.c: If +newer or +newer-mtime, use the time specified on the
	command line.

	* buffer.c, create.c: Add test to see if dimwit is trying to
	archive the archive.

	* tar.c (long_options[]): Re-ordered, so that groups of similar
	options are next to each other...  I think.

	(describe): Modified to more closely reflect reality.

Fri Jul  6 13:13:59 EDT 1990	Jay Fenlason (hack@ai.mit.edu)

	* tar.c: Add compile-time option for SYS V (?) style
	tape-drive names /dev/rmt/{n}[lmh]

	* tar.c: Fix getopt-style stuff so that -C always works correctly.

	* gnu.c, tar.c: Make filename to -G optional.

	* {all over}: Replace some fprintf(stderr...) calls with calls
	to msg().

	* port.c: Make -Dmumble_MSG option on command line override
	internal assumptions.

	* Makefile: Mention -Dmumble_MSG options

Fri Jul  6 02:35:31 1990  David J. MacKenzie  (djm at apple-gunkies)

	* tar.c (options): Don't change `c' if it is 0, as getopt now
	handles that internally.

Mon Jul  2 15:21:13 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* gnu.c (new file): Moved all the f_gnudump stuff here where we
	can keep track of it easier.  Also made -G take a file name where
	it stores the inode information about directories so that we can
	detect moved directores.

	* create.c (dump_file): Changed slightly to work with the new
	f_gnudump.

	* tar.c: Moved the f_gnudump stuff to gnu.c

	* tar.c, extract.c: Added the +do-chown option, which forces tar
	to always try to chown the created files to their original owners.

	* version.c: New version 1.09

Sun Jun 24 14:26:28 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* create.c: Change ifdefs for directory library header
	selection to be like the ones in tar.c.
	* Makefile [Xenix]: Link with -ldir to get the dirent.h
	directory library.

Thu Jun  7 03:31:51 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* Makefile, buffer.c, diffarch.c: Change MTIO symbol to HAVE_MTIO
	because SCO Xenix defines 'MTIO' for an incompatible tape driver
	system in a file included by termio.h.
	* tar.h: Don't define size_t for Xenix.

Tue Jun  5 11:38:00 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* create.c (dump_file): Only print the
	"... is on a different filesystem..." if f_verbose is on.
	also add a case for S_IFSOCK and treat it like a FIFO.
	(Not sure if that's the right thing to do or not, but it's better
	than all those Unknown File Type msgs.)

Thu May 31 19:25:36 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* port.c: Use #ifdef sparc instead of #ifdef SPARC since
	the lowercase version is defined, and the uppercase one isn't.

Tue May 22 11:49:18 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* port.c (ck_malloc): if size==0 pretend size=1
	(ck_realloc): if(!ptr) call ck_malloc instead.

Tue May 15 12:05:45 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* diffarch.c (diff_archive): If not f_absolute_paths, and attempt
	to open a file listed in the archive fails, try /filename also.
	This will allow diff to open the wrong file if both /filename and
	filename exist, but there's nothing we can do about that.

Fri May 11 16:17:43 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* Makefile: Describe new -DMTIO option.

	* buffer.c, diffarch.c: Change ifdefs slightly, so that -DMTIO
	will include sys/mtio.h even if USG is defined.  This is for HUPX
	and similar BSD/USG crossovers.

Tue May  8 13:14:54 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* update.c (update_archive): Call reset_eof() when appropriate.

	* buffer.c (reset_eof): New function, that turns of EOF flag, and
	re-sets the ar_record and ar_last pointers.  This will allow
	'tar rf non-existant-file' to not core-dump.

Fri May  4 14:05:31 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* tar.c: Recognize the +sparse option.  It was documented, but
	only the short form (-S) was actually recognized.

Tue Apr 17 21:34:14 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* create.c: Don't access location 0 if ->dir_contents is null.

Wed Apr 11 17:30:03 EDT 1990 Jay Fenlason (hack@ai.mit.edu)

	* buffer.c (flush_archive, close_archive, new_volume): Always
	check the return value of rmtclose(), and only give a warning msg
	if it is <0.  Some device drivers (including Sun floppy disk, and
	HP streaming tape) return -1 after an IO error (or something like
	that.)

Fri Mar 23 00:06:30 1990  Jim Kingdon  (kingdon at mole.ai.mit.edu)

	* tar.c (long_options): Make it so +append +extract +list +update
	+catenate and +delete don't take arguments.

Mon Mar 12 13:33:53 EST 1990

	* buffer.c (open_archive, fl_write): Set the mtime of the volume
	header to the current time.

Wed Mar  7 14:10:10 EST 1990	Jay Fenlason (hack@ai.mit.edu)

	* buffer.c  Fix +compress-block  A two character patch from
	Juha Sarlin.
	Replace #ifdef __GNU__ with #ifdef __STDC__.
	(new_volume): If open of new archive fails, ask again (Is probably
	user error.)

	* tar.c: Replace #ifdef __GNU__ with #ifdef __STDC__

	* port.c: Clean up #ifdef and #defines a bit.
	(quote_copy_string): Sometimes the malloc'd buffer would be up to
	two characters too short.

	* extract.c (extract_archive): Don't declare ind static.

	* create.c (dump_file): Don't declare index_offset static.

	* diffarch.c: Remove diff_name variable, and always use
	head->header.name, which will always work, unlike diff_name, which
	becomes trash when the next block is read in.

Thu Mar  1 13:43:30 EST 1990	Jay Fenlason (hack@wookumz.ai.mit.edu)

	* Makefile: Mention the -NO_REMOTE option.
	* port.c: Fix typo, and define WANT_FTRUNCATE on i386 machines.

Mon Feb 26 17:44:53 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)

	* getdate.y: Declare yylex and yyerror as static.
	#define yyparse to getdate_yyparse.

Sun Feb 25 20:47:23 1990  David J. MacKenzie  (djm at albert.ai.mit.edu)

	* tar.c: Remove +old option, since it is a valid abbreviation of
	+old-archive, which does the same thing.
	(describe): A few small cleanups in message.

Mon Feb  5 14:29:21 EST 1990	Jay Fenlason	(hack@wookumz)

	* port.c: Define LOSING_MSG on sparc, since doprnt_msg doesn't
	work.
	Fix typo in #ifdef WANT_GETWD

Fri Jan 26 16:11:20 EST 1990	Jay Fenlason	(hack@wookumz)

	Version 1.08 --- Sparse file support added.  Also various other
	features.

	* diffarch.c (compare_chunk): Include correct arguments in
	a call to fprintf() for an error msg.
	(compare_chunks, compare_dir): First argument is a long, not an int.

	* tar.c (options): Use tar variable (argv[0]) as the name to print
 	in an error msg, instead of a constant "tar".
	(confirm): Use external variable char TTY_NAME[] for name of file
	to open for confirmation input.

	* buffer.c (new_volume): Ditto.

	* port.c: Add declaration for TTY_NAME[].

	* rmt.h: Add long declarations for lseek() and __rmt_lseek();

Tue Jan 23 14:06:21 EST 1990	Jay Fenlason (hack@wookumz)

	* tar.c, create.c: Create the +newer-mtime option, which is like
	+newer, but only looks for files whose mtime is newer than the
	given date.

	* rtape_lib.c: Make *both* instances of signal-handler stuff use
	void (*foo)() on USG systems.

Thu Jan 11 14:03:45 EST 1990  Jay Fenlason  (hack@wookumz)

	* getdate.y : Parse European dates of the form YYMMDD.
	In ftime(): Init timezone by calling localtime(), and remember that
	timezone is in seconds, but we want timeb->timezone to be in minutes.
	Reported by Joergen Haegg.

	* rtape_lib.c (__rmt_open): Also look for /usr/bsd/rsh.
	Declare signal handler as returning void instead of int if USG is
	defined.

	* port.c: Declare WANT_GETWD for SGI 4-D IRIS.

	* Makefile: Include defines for SGI 4D version.
	Reported by Mike Muuss.

	* buffer.c (fl_read): Work properly on broken Ultrix systems where
	read() returns -1 with errno==ENOSPC on end of tape.  Correctly go
	on to the next volume if f_multivol.

	* list.c (list_archive, print_header): Flush msg_file after
	printing messages.

	* port.c: Delete unused references to alloca().
	Don't crash if malloc() returns zero in quote_copy_string.
	Flush stderr in msg() and msg_perror().

	* tar.c: Flush msg_file after printing confirmation msg.

Wed Jan 10 01:58:46 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* tar.c (main): Change -help option and references to it to +help,
	and remove suggestion to run info (which is unreleased, so not
	likely to be of any help).

Tue Jan  9 16:16:00 EST 1990	Jay Fenlason  (hack @wookumz)

	* create.c (dump_file): Close file descriptor if start_header()
	fails.
	(dump_file): Change test for `./'-ness to not think that `.' {any
	character} is a `./'.
	Reported by Piercarlo Grandi.

	* diffarch.c (diff_init): Print correct number of bytes in error
	message.

Tue Jan  9 03:19:49 1990  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* Makefile: Add comment at top noting that two source files also
	contain #defines that might need to be changed by hand.

	* create.c, diffarch.c, extract.c: Change L_SET to 0 in lseek
	calls, because only BSD defines it.
	* create.c (dump_file): Make sparse file checking code conditional
	on BSD42 because it uses st_blocks, which the other systems lack.

Tue Jan  2 13:35:56 EST 1990 Jay Fenlason (hack@gnu)

	* port.c (quote_copy_string): Fix so it doesn't scramble memory if
	the last character is non-printable.
	Reported by Kian-Tat Lim.

Tue Dec 19 11:19:37 1989  Jim Kingdon  (kingdon at pogo)

	* port.c [BSD42]: Define DOPRNT_MSG.
	tar.h [BSD42]: Do not prototype msg{,_perror}.

Fri Dec  8 11:02:47 EST 1989	Jay Fenlason (hack@gnu)

	* create.c (dump_file): Remove typo in msg.

Fri Dec  1 19:26:47 1989  David J. MacKenzie  (djm at trix)

	* Makefile: Remove comments referring to certain systems lacking
	getopt, since it is now provided always and needed by all systems.

	* port.c: Remove copy of getopt.c, as it is now linked in
	separately to always get the current version.

	* tar.c: Rename +cat-tars option to +catenate or +concatenate,
	and +local-filesystem to +one-file-system (preferred by rms
	and used in GNU cp for the same purpose).
	(describe): Reflect changes.

Tue Nov 28 04:28:26 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* port.c: Move declaration of alloca into #else /* sparc */
	so it will compile on sparcs.

Mon Nov 27 15:17:08 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* tar.c (options): Remove -version option (replaced by +version).
	(describe): Mention long options.

Sat Nov 25 04:25:23 1989  David J. MacKenzie  (djm at hobbes.ai.mit.edu)

	* getoldopt.c (getoldopt): Make `opt_index' argument a pointer to
	an int, not char.

	* tar.c: Modify long options per rms's suggestions:
	Make preserve-permissions an alias for same-permissions.
	Make preserve-order an alias for same-order.
	Define preserve to mean both of those combined.
	Make old an alias for old-archive.
	Make portability an alias for old-archive, also.
	Rename sym-links to dereference.
	Rename gnudump to incremental.
	Rename filename to file.
	Make compare an alias for diff.  Leave diff but prefer compare.
	Rename blocking-factor to block-size.
	Rename chdir to directory.
	Make uncompress an alias for compress.
	Rename confirm to interactive.
	Make get an alias for extract.
	Rename volume-header to volume.

	Also make +version an alias for -version.

	(options): Shorten code that interprets long options by using
	the equivalent short options' code.  This also makes it tons
	easier to change the long options.

	(describe): Make usage message more internally consistent
	stylistically.

Mon Nov 20 14:55:39 EST 1989	hack@ai.mit.edu

	* list.c (read_and): Call check_exclude() to see if the files
	should be skipped on extract or list.

Thu Nov  9 18:59:32 1989  Jim Kingdon  (kingdon at hobbes.ai.mit.edu)

	* buffer.c (fl_read): Fix typos in error message
	"tar EOF not on block boundary".

Mon Oct 23 13:09:40 EDT 1989		(hack@ai.mit.edu)

	* tar.c (long_options[]): Add an option for blocked compression.

Thu Oct 19 13:38:16 EDT 1989		(hack@ai.mit.edu)

	* buffer.c (writeerror): Print a more useful error msg.

Wed Sep 27 18:33:41 EDT 1989		(hack@ai.mit.edu)

	* tar.c (main): Mention "tar -help" if the luser types a non-workable
	set of options.

Mon Sep 11 15:03:29 EDT 1989		(hack@ai.mit.edu)

	* tar.c (options): Have -F correctly set info_script.

Tue Aug 29 12:58:06 EDT 1989		(hack@ai.mit.edu)

	* Makefile  Include ChangeLog in tar.tar and tar.tar.Z

Mon Aug 28 17:42:24 EDT 1989		(hack@ai.mit.edu)

	* tar.c (options) Made -F imply -M.
	Also remind tar that the -f option takes an argument!

	* Modified -F option to make it do what (I think) it
	should.  e.g, if you say -F, tar won't send a msg to
	msg_file and wait for a <return> It'll just run the program
	it was given, and when the prog returns, the new tape had
	*better* be ready...

	* buffer.c (open_archive): Give error message and abort if
	the luser didn't give an archive name.

Fri Aug 25 20:05:27 EDT 1989		Joy Kendall (jak at hobbes)

	* Added code to make a new option to run a specified script
	at the end of each tape in a multi-volume backup.  Changed:
	tar.c: made new switch, -F, and new long-named option,
	"info-script".  Code is where you would expect.
	tar.h: added flag f_run_script_at_end, and an extern char *
	called info_script, which optarg gets set to.
	buffer.c (new_volume): if f_run_script_at_end is set, we give
	info_script to system(), otherwise we do what we've always done.

Thu Aug 24 10:09:38 EDT 1989		Joy Kendall (jak at spiff)
(These changes made over the course of 6/89 - 8/89)

	* diffarch.c: diff_archive: Added switches for LF_SPARSE in the
	case statements that needed it.  Also, skip any extended headers
	if we need to when we skip over a file.  (need to change
	the bit about, if the size doesn't agree AND the file is NOT
	sparse, then there's a discrepancy, because I added another
	field to the header which should be able to deal with the
	sizes):  If the file is sparse, call the added routine
	"diff_sparse_files" to compare.  Also added routine
	"fill_in_sparse_array".

	* extract.c: extract_archive: added the switch LF_SPARSE
	to the case statement as needed, and code to treat the
	sparse file.  At label "again_file", modified opening the
	file to see if we should have O_APPEND be one of the modes.
	Added code at label "extract_file" to call the new routine
 	"extract_sparse_file" when we have an LF_SPARSE flag.

	Note: really should erase the commented-out code in there,
	because it's confusing.

	* update.c: made sure that if a file needed to be "skipped"
	over, it would check to see if the linkflag was sparse, and
	if so, would then make sure to skip over any "extended
	headers" that might come after the header itself.  Do so by
	calling "skip_extended_headers".

	* create.c: create_archive: added code to detect a sparse
	file when in the long case statement.  Added ways to detect
	extended headers, and label "extend" (ack! should get rid of
	that, is atrocious).  Call the new routine "finish_sparse_file"
	if the linkflag is LF_SPARSE to write the info to the tape.
	Also added routines "init_sparsearray", "deal_with_sparse",
	"clear_buffer", "where_is_data", "zero_record", and
	"find_new_file_size".

	* tar.h:  Added the #define's SPARSE_EXT_HDR and
	SPARSE_IN_HDR.  Added the struct sparse and the struct
	sp_array.  Added the linkflag LF_SPARSE. Changed the tar
 	header in several ways:
		- added an array of struct sparse's SPARSE_IN_HDR long
		- added a char flag isextended
		- added a char string realsize to store the true
		size of a sparse file
	Added another choice to the union record called a
	struct extended_header, which is an array of 21 struct
	sparse's and a char isextended flag.  Added flag
	f_sparse_file to list of flags.

	* tar.c: added long-named options to make tar compatible with
	getopt_long, changed Makefile.

Fri Mar  3 1989 23:14:55  David MacKenzie  (edf at rocky2.rockefeller.edu)
(I'm not sure all these have been integrated, I guess yes -- FP.)

	* buffer.c: ifdef'd out #include <sys/file.h> if USG.
	(close_archive): SysV doesn't have ftruncate, so substituted
	fmtwrite (just copied the code for MS-DOS).
	* create.c: Unos lacks <sys/sysmacros.h> so provided a substitute.
	(start_header): Only strip leading paths if f_relative_paths is true.
	* extract.c:
	(extract_archive): Only strip leading paths if
	f_relative_paths is true.  Because the Unos filesystem has
	only one timestamp, moved the utime call to after the chown
	and chmod calls.
	* getdate.y: Don't define ftime if Unos.
	* list.c: Defined size_t for Unos.  Don't include <sys/file.h> if USG.
	Define <sys/sysmacros> stuff manually for Unos.
	(decode_header): Add braces around switch cases; some compilers
	require them.
	(print_header): Changed UGSWIDTH from 11 to 25 because the smaller
	value made tape listings of files owned by more than one user
	gradually get wider, making them hard to read.
	* port.c: Don't include <sys/file.h> if SysV.  Define
	size_t for Unos.
	(mkdir): Add code to support Unos makedir sys call.
	(getopt): Use malloc instead of alloca, because tar doesn't
	use alloca anywhere else and many systems lack it.  A few other
	changes from the current version of getopt.c incorporated.
	* rtape_lib.c: Undefine RMTIOCTL.  Doesn't seem to be needed,
	and can't compile on Unos/SysV with it defined.  Might need to be
	ifdef'd.
	* tar.c: Alias addname to add_name and rmdir to deldir on Unos
	due to C library weirdness.
	(options): Recognize new -P option to set f_relative paths.
	(describe): Clean up error message and add -P description.
	* tar.h: Add variable, f_relative_paths, to cause tar to strip
	leading `/' characters in pathnames during create and extract.
	* tar.texinfo: Fixed a couple of typos, detected by texi2roff.
	* update.c: Simulate <sys/sysmacros.h> for Unos.

Previous releases by Jay Fenlason (hack@ai.mit.edu)

	* Version 1.07 --- New version to go on beta tape with GCC 1.35.
	Better USG support.  Also support for __builtin_alloca if we're
	compiling with GCC.

	diffarch.c: Include the correct header files so MTIOCTOP
	is defined.
	tar.c:  Don't print the verbose list of options unless
	given -help.  The list of options is *way* too long.

	* Version 1.06 --- Use STDC_MSG if __STDC__ defined.
	ENXIO meand end-of-volume in archive (for the UNIX PC)
	Added break after volume-header case (line 440) extract.c
	Added patch to rtape_lib.c (reported by Arnold Robbins).
	Added f_absolute_paths option.
	Deleted refereces to UN*X manual sections (dump(8), etc)
	Fixed to not core-dump on illegal options
	Modified msg_perror to call perror("") instead of perror(0)
	patch so -X - works
	Fixed tar.c so 'tar cf - -C dir' doesn't core-dump
	tar.c (name_match): Fixed to chdir() to the appropriate
	directory if the matching name's change_dir is set.  This
	makes tar xv -C foo {files} work.

	* Version 1.05 --- A fix to make confirm() work when the archive is
	on stdin; include 'extern FILE *msg_file;' in pr_mkdir(), and fix
	tar.h to work with __STDC__.

	Added to port.c: mkdir() ftruncate(): Removed: lstat()
	Fixed -G to work with -X
	Another fix to tar.texinfo
	Changed tar.c to say argv[0]":you must specify exactly ...
	buffer.c: modified child_open() to keep tar from hanging when
	it is done reading/writing a compressed archive
	added fflush(msg_file) before printing error messages
	create.c: fixed to make link_names non-absolute

	* Version 1.04 --- Added functions msg() and msg_perror(): Modified
	all the files to call them.  Also checked that all (I hope) calls
	to msg_perror() have a valid errno value.
	(modified anno() to leave errno alone), etc.
	Re-fixed the -X option.  This time for sure...
	re-modified the msg stuff.  flushed anno() completely
	Modified the directory stuff so it should work on sysV boxes
	added ftime() to getdate.y
	Fixed un_quote_string() so it won't wedge on \" Also fixed
	\ddd (like \123, etc)
	More fixes to tar.texinfo

	* Version 1.03 --- Fixed buffer.c so 'tar tzf NON_EXISTENT_FILE'
	returns an error message instead of hanging forever.
	More fixes to tar.texinfo.

	* Version 1.02 --- Fixed tar.c so 'tar -h' and 'tar -v' don't cause
	core dump.  Also fixed the 'usage' message to be more up-to-date.
	Fixed diffarch.c so verify should compile without MTIOCTOP
	defined.

	* Version 1.01 --- Fixed typoes in tar.texinfo.
	Fixed a bug in the #define for rmtcreat().
	Fixed the -X option to not call realloc() of 0.

	* Version 1.00 --- version.c added.  -version option added.
	Installed new version of the remote-tape library.
	Added -help option.

Local Variables:
mode: indented-text
left-margin: 8
version-control: never
End:
