Paul Eggert [Sat, 3 Jul 1999 05:00:55 +0000 (05:00 +0000)]
version 1.13 news
Paul Eggert [Sat, 3 Jul 1999 01:46:00 +0000 (01:46 +0000)]
(EXTRA_DIST): Add mktime.m4.
(Makefile.am): Remove.
Paul Eggert [Sat, 3 Jul 1999 01:44:37 +0000 (01:44 +0000)]
Initial revision
Paul Eggert [Sat, 3 Jul 1999 00:00:19 +0000 (00:00 +0000)]
Include signal.h.
(SIGCHLD): Define to SIGCLD if SIGCLD is defined but SIGCHLD is not.
(main): Ensure SIGCHLD is not ignored, so that we can fork and wait.
Paul Eggert [Fri, 2 Jul 1999 21:33:51 +0000 (21:33 +0000)]
(BACKUP_OPTION, DELETE_OPTION, EXCLUDE_OPTION, GROUP_OPTION,
MODE_OPTION, NEWER_MTIME_OPTION, NO_RECURSE_OPTION, NULL_OPTION,
OWNER_OPTION, POSIX_OPTION, PRESERVE_OPTION, RECORD_SIZE_OPTION,
RSH_COMMAND_OPTION, SUFFIX_OPTION, USE_COMPRESS_PROGRAM_OPTION,
VOLNO_FILE_OPTION, OBSOLETE_ABSOLUTE_NAMES, OBSOLETE_BLOCK_COMPRESS,
OBSOLETE_BLOCKING_FACTOR, OBSOLETE_BLOCK_NUMBER,
OBSOLETE_READ_FULL_RECORDS, OBSOLETE_TOUCH, OBSOLETE_VERSION_CONTROL):
Make sure they can't be valid chars, so they don't overlap with char codes.
Use an enum instead of a lot of #defines.
(long_options, main, usage): Remove --ending-file option.
(OPTION_STRING): Remove -E.
Paul Eggert [Fri, 2 Jul 1999 21:25:09 +0000 (21:25 +0000)]
Don't include <ctype.h>; system.h already does this.
(ISODIGIT, ISSPACE): Remove; now in system.h.
(read_and): Excise ending_file_option.
(decode_header): No need to AND mode with 07777; MODE_FROM_OCT
does this now.
(from_oct): Cast ISSPACE arg to unsigned char.
(mode_from_oct): Translate modes from external to internal form.
Do not complain about unrecognized mode bits.
(decode_mode): Do not assume mode bits have traditional Unix values.
Paul Eggert [Fri, 2 Jul 1999 21:25:09 +0000 (21:25 +0000)]
(rmt_lseek__): Convert lseek whence values to portable integers on the wire.
Paul Eggert [Fri, 2 Jul 1999 21:25:09 +0000 (21:25 +0000)]
(main): Convert lseek whence values to portable integers on the wire.
Check for whence values out of range.
Paul Eggert [Fri, 2 Jul 1999 21:25:09 +0000 (21:25 +0000)]
(extr_init, make_directories, extract_archive):
Do not assume mode bits have traditional Unix values.
(set_mode): Use %04 not %0.4 format.
(extract_sparse_file): Do not use data_block uninitialized.
Check for lseek failures; use portable lseek whence values.
Paul Eggert [Fri, 2 Jul 1999 21:05:50 +0000 (21:05 +0000)]
Add braces to pacify gcc -Wall.
Paul Eggert [Fri, 2 Jul 1999 21:05:50 +0000 (21:05 +0000)]
(mode_to_oct): Do not assume internal mode_t and external octal modes
have the same bit patterns.
(start_header): Do not assume mode bits have traditional Unix values.
(finish_sparse_file): Use lseek whence macros instead of integers.
(dump_file): Do not assume mode bits have traditional Unix values.
Do not invoke finish_sparse_file on a negative file descriptor.
Paul Eggert [Fri, 2 Jul 1999 06:08:46 +0000 (06:08 +0000)]
(child_open_for_compress): Use portable modes.
(child_open_for_uncompress, open_archive): Likewise.
(backspace_output): Use portable whence values.
(close_archive): Likewise. Remove ending_file_option.
Paul Eggert [Thu, 1 Jul 1999 21:01:44 +0000 (21:01 +0000)]
version 1.12.64016
Paul Eggert [Thu, 1 Jul 1999 21:01:44 +0000 (21:01 +0000)]
\a doesn't work with msgfmt.
Fix copyright notice.
Paul Eggert [Thu, 1 Jul 1999 21:01:44 +0000 (21:01 +0000)]
Fix copyright notice.
Paul Eggert [Tue, 29 Jun 1999 02:26:25 +0000 (02:26 +0000)]
Handle EINTR correctly; use STDIN_FILENO instead of 0, etc.
Paul Eggert [Tue, 29 Jun 1999 02:26:25 +0000 (02:26 +0000)]
Describe changes since 1.12.
Paul Eggert [Tue, 29 Jun 1999 02:26:25 +0000 (02:26 +0000)]
Add lib/argmatch.c, lib/error.c lib/getopt.c,
lib/xmalloc.c, src/arith.c, src/misc.c.
Paul Eggert [Tue, 29 Jun 1999 02:26:25 +0000 (02:26 +0000)]
ANSIfy.
Paul Eggert [Fri, 25 Jun 1999 23:32:39 +0000 (23:32 +0000)]
1.12.64014
Paul Eggert [Fri, 25 Jun 1999 23:28:08 +0000 (23:28 +0000)]
(write_archive_buffer): New function.
(child_open_for_compress, flush_write, flush_read): Use it to write
buffers.
(open_archive): Report error if fstat of archive fails.
Improve efficiency of check for /dev/null.
Also, fix some corner cases with remote archives and /dev/null checking.
(close_archive): Test for input fifo only if not remote.
Truncate output archive only if it's not remote.
Paul Eggert [Mon, 21 Jun 1999 00:02:15 +0000 (00:02 +0000)]
Initial revision
Paul Eggert [Sat, 19 Jun 1999 06:19:27 +0000 (06:19 +0000)]
version 1.12.64013
Paul Eggert [Sat, 19 Jun 1999 06:19:27 +0000 (06:19 +0000)]
(to_oct): Prepend leading zeros, not spaces.
Output a trailing NUL unless the value won't fit without it;
this is backward compatible with Unix tar (and with GNU Emacs).
(finish_header): No need to append NUL to chksum, now that
to_oct is doing it.
Paul Eggert [Wed, 16 Jun 1999 12:44:52 +0000 (12:44 +0000)]
Move include of backupfile.h to common.h.
Paul Eggert [Wed, 16 Jun 1999 11:39:30 +0000 (11:39 +0000)]
Bump version.
Paul Eggert [Wed, 16 Jun 1999 11:14:15 +0000 (11:14 +0000)]
(backup_type): Remove decl; backupfile.h now has it.
(intconv): Remove; use xstrto* fns instead.
("xstrtol.h"): Include.
(check_decimal): Remove.
(long_options, usage, OPTION_STRING, decode_options):
Remove -y, --bzip2, --unbzip2.
(decode_options): Use xget_version instead of get_version.
Check for overflow with -b and -L and RECORD_SIZE_OPTION.
Replace invocations of check_decimal with xstrtoumax.
Paul Eggert [Wed, 16 Jun 1999 11:11:07 +0000 (11:11 +0000)]
Initial revision
Paul Eggert [Wed, 16 Jun 1999 11:04:02 +0000 (11:04 +0000)]
Remove --bzip2.
Fix @xref typos reported by latest makeinfo.
Paul Eggert [Wed, 16 Jun 1999 11:04:02 +0000 (11:04 +0000)]
(print_header): Change sizes of uform and gform from 11 to
UINTMAX_STRSIZE_BOUND.
Paul Eggert [Thu, 20 May 1999 03:48:55 +0000 (03:48 +0000)]
GNU tar 1.13
Paul Eggert [Sun, 16 May 1999 02:43:22 +0000 (02:43 +0000)]
Remove -y.
Paul Eggert [Mon, 19 Apr 1999 02:43:16 +0000 (02:43 +0000)]
Initial revision
Paul Eggert [Fri, 9 Apr 1999 22:40:42 +0000 (22:40 +0000)]
Bump version.
Paul Eggert [Mon, 22 Mar 1999 22:10:51 +0000 (22:10 +0000)]
Version 1.12.64010
Paul Eggert [Mon, 22 Mar 1999 22:06:22 +0000 (22:06 +0000)]
Include <quotearg.h>.
(from_oct): Add forward decl.
(read_header): Return HEADER_FAILURE if we can't parse the checksum.
(from_oct): Report an error only if TYPE is nonzero.
Quote any funny characters in bad header.
Paul Eggert [Sat, 20 Mar 1999 11:50:30 +0000 (11:50 +0000)]
version 1.12.64009
Paul Eggert [Thu, 18 Mar 1999 07:25:29 +0000 (07:25 +0000)]
Update version number.
Paul Eggert [Thu, 18 Mar 1999 07:20:42 +0000 (07:20 +0000)]
Remove --with-included-malloc.
Upgrade version numbers of build software.
Paul Eggert [Thu, 18 Mar 1999 07:20:42 +0000 (07:20 +0000)]
Fix bug-report addr.
Paul Eggert [Mon, 8 Mar 1999 07:51:45 +0000 (07:51 +0000)]
Update to 1.12.64007.
Paul Eggert [Tue, 2 Mar 1999 00:10:11 +0000 (00:10 +0000)]
1.12.64006
Paul Eggert [Tue, 2 Mar 1999 00:10:11 +0000 (00:10 +0000)]
(to_oct): New parameter substitute, giving a substitute value to use
when the original value is out of range. Do not append a space to the
output; modern tars don't. When a value is out of range, specify the
maximum value, not the number of bits.
(GID_NOBODY, UID_NOBODY): New macros.
(gid_to_oct, uid_to_oct): Use them as substitutes.
(finish_header): Do not assume that UINTMAX_TO_OCT appends a space.
(dump_file): Check whether the file changed as we read it.
Paul Eggert [Tue, 2 Mar 1999 00:10:11 +0000 (00:10 +0000)]
(main): Remove suspicious AIX/386 code.
Paul Eggert [Tue, 2 Mar 1999 00:10:11 +0000 (00:10 +0000)]
(gid_from_oct, major_from_oct, minor_from_oct, mode_from_oct, off_from_oct,
size_from_oct, time_from_oct, uid_from_oct, uintmax_from_oct):
Use TYPE_MAXIMUM instead of macros like OFF_MAX, which are not reliable
(e.g. OFF_MAX in AIX 4.2 is incorrect).
Paul Eggert [Sat, 20 Feb 1999 06:04:28 +0000 (06:04 +0000)]
Version 1.12.64005
Paul Eggert [Sat, 20 Feb 1999 06:04:28 +0000 (06:04 +0000)]
Add --bzip2, --bunzip2 options.
Paul Eggert [Sat, 20 Feb 1999 06:04:28 +0000 (06:04 +0000)]
(long_options, usage): Prefer --unbzip2 to --bunzip2.
Paul Eggert [Mon, 1 Feb 1999 08:10:25 +0000 (08:10 +0000)]
Update copyright.
Paul Eggert [Mon, 1 Feb 1999 08:02:16 +0000 (08:02 +0000)]
1.12.64004
Paul Eggert [Mon, 1 Feb 1999 07:51:19 +0000 (07:51 +0000)]
(long_options, usage, OPTION_STRING, decode_options):
Add -y or --bzip2 or --bunzip2 option.
Paul Eggert [Mon, 1 Feb 1999 07:51:19 +0000 (07:51 +0000)]
(extract_archive): Fix bug when extracting sparse files: they were
trashing the tar file header.
Paul Eggert [Sun, 31 Jan 1999 02:53:47 +0000 (02:53 +0000)]
(cached_no_such_uname, cached_no_such_gname, cached_no_such_uid,
cached_no_such_gid): New vars.
(uid_to_uname, gid_to_gname, uname_to_uid, gname_to_gid):
Cache failures, too.
Paul Eggert [Sun, 31 Jan 1999 02:52:16 +0000 (02:52 +0000)]
(decode_options): Don't pass names longer than UNAME_FIELD_SIZE to
uname_to_uid, as it messes up the cache. Similarly for gname_to_uid.
Paul Eggert [Thu, 28 Jan 1999 00:29:59 +0000 (00:29 +0000)]
version 1.12.64003
Paul Eggert [Thu, 28 Jan 1999 00:28:41 +0000 (00:28 +0000)]
(backspace_output, close_archive): Cast rmtlseek position arg to off_t,
for benefit of K&R compilers with long long.
Paul Eggert [Wed, 27 Jan 1999 20:45:26 +0000 (20:45 +0000)]
Version 1.12.64002
Paul Eggert [Wed, 27 Jan 1999 20:42:30 +0000 (20:42 +0000)]
(gid_to_oct, major_to_oct, minor_to_oct, mode_to_oct, off_to_oct,
size_to_oct, time_to_oct, uid_to_oct): Cast value to uintmax_t, for
benefit of pre-ANSI compilers with long long.
Paul Eggert [Wed, 27 Jan 1999 20:42:30 +0000 (20:42 +0000)]
(gid_from_oct, major_from_oct, minor_from_oct, mode_from_oct,
off_from_oct, size_from_oct, time_from_oct, uid_from_oct):
Cast limit to uintmax_t, for
benefit of pre-ANSI compilers with long long.
Paul Eggert [Mon, 25 Jan 1999 14:09:30 +0000 (14:09 +0000)]
GNU fileutils 4.0i
Paul Eggert [Fri, 22 Jan 1999 22:37:10 +0000 (22:37 +0000)]
Update version
Paul Eggert [Wed, 20 Jan 1999 20:49:57 +0000 (20:49 +0000)]
Update version number to 1.12.64000.
Paul Eggert [Wed, 20 Jan 1999 19:30:20 +0000 (19:30 +0000)]
Update version number.
Paul Eggert [Tue, 19 Jan 1999 04:21:34 +0000 (04:21 +0000)]
GNU tar 1.13
Paul Eggert [Fri, 1 Jan 1999 17:43:10 +0000 (17:43 +0000)]
GNU tar 1.13
Paul Eggert [Mon, 7 Dec 1998 22:44:42 +0000 (22:44 +0000)]
1.12.lfs.6
Paul Eggert [Mon, 7 Dec 1998 22:36:22 +0000 (22:36 +0000)]
(read_header): Accept file names as specified by POSIX.1-1996 section 10.1.1.
Paul Eggert [Mon, 30 Nov 1998 22:17:11 +0000 (22:17 +0000)]
(set_stat): chmod after chown even when not root; if we are using
--same-owner this is needed e.g. on Solaris 2.5.1.
Paul Eggert [Sun, 15 Nov 1998 09:30:07 +0000 (09:30 +0000)]
Bump revision
Paul Eggert [Thu, 29 Oct 1998 02:29:49 +0000 (02:29 +0000)]
Update to 1.12.lfs.4.
Paul Eggert [Thu, 29 Oct 1998 02:22:34 +0000 (02:22 +0000)]
Don't use rexec code unless compiled with WITH_REXEC. On many
installations, rexec is disabled.
Paul Eggert [Fri, 23 Oct 1998 18:07:04 +0000 (18:07 +0000)]
glibc 2.1.2
Paul Eggert [Wed, 9 Sep 1998 23:52:32 +0000 (23:52 +0000)]
Ghostscript 6.0
Paul Eggert [Fri, 7 Aug 1998 19:09:53 +0000 (19:09 +0000)]
Update revision number.
Paul Eggert [Fri, 7 Aug 1998 19:09:15 +0000 (19:09 +0000)]
(uid_to_uname, gid_to_gname): Don't used cached name for nameless
users and groups.
Paul Eggert [Thu, 16 Jul 1998 23:23:05 +0000 (23:23 +0000)]
GNU tar 1.13
Paul Eggert [Tue, 24 Feb 1998 23:17:38 +0000 (23:17 +0000)]
Initial revision
Paul Eggert [Wed, 18 Feb 1998 01:23:55 +0000 (01:23 +0000)]
Add explanation of why this isn't an official version.
Paul Eggert [Mon, 2 Feb 1998 23:02:03 +0000 (23:02 +0000)]
Add 1.12.lfs.1.
Paul Eggert [Mon, 2 Feb 1998 22:57:55 +0000 (22:57 +0000)]
Update version to 1.12.lfs.1
Paul Eggert [Wed, 31 Dec 1997 11:01:18 +0000 (11:01 +0000)]
GNU tar 1.13
junio [Thu, 4 Dec 1997 07:07:11 +0000 (07:07 +0000)]
Implement -E (ending-file) option.
junio [Thu, 4 Dec 1997 06:37:52 +0000 (06:37 +0000)]
Implement -E (ending-file) option.
Paul Eggert [Wed, 19 Nov 1997 20:42:34 +0000 (20:42 +0000)]
gtar 1.12
Paul Eggert [Mon, 10 Nov 1997 19:13:12 +0000 (19:13 +0000)]
(main): Don't assume mt_count is of type daddr_t.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(to_oct): Now static. Value arg is now uintmax_t. Accept new args
giving name of type of octal field, for error messages. Report an
error if the value is too large to fit in the field.
(gid_to_oct, major_to_oct, minor_to_oct, mode_to_oct, off_to_oct,
size_to_oct, time_to_oct, uid_to_oct, uintmax_to_oct): New functions.
(write_eot, write_long, finish_header, deal_with_sparse,
finish_sparse_file, dump_file): Use dev_t, off_t, ssize_t, size_t when
appropriate. Remove now-useless casts. Use unsigned long to print
*_t types, except use STRINGIFY_BIGINT for off_t.
(find_new_file_size): 1st arg is now off_t*.
(finish_sparse_file): Args now use off_t, not long.
Check for lseek error.
(create_archive, dump_file): Cast -1 to dev_t when necessary.
(dump_file): Device arg is now dev_t.
Avoid overflow when testing whether file has holes
by using the new ST_NBLOCKSIZE macro.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(rmt_read__, rmt_write__): Now returns ssize_t.
(rmt_lseek): Now returns off_t.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(record_start_block, save_totsize, save_sizeleft, real_s_totsize,
real_s_sizeleft, current_block_ordinal): Now off_t.
(write_error): Arg is now ssize_t.
(child_pid): Now pid_t.
(available_space_after): Now size_t.
(child_open_for_compress, child_open_for_uncompress, flush_write,
open_archive, flush_write, write_error, flush_read, close_archive):
Use pid_t, ssize_t, size_t when appropriate. Remove now-useless
casts. Use unsigned long to print *_t types, except use
STRINGIFY_BIGINT for off_t.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(read_and, list_archive, read_header, decode_mode, print_header,
print_for_mkdir): Use mode_t, off_t, size_t when appropriate. Remove
now-useless casts. Use unsigned long to print *_t types, except use
STRINGIFY_BIGINT for off_t.
(read_header): Check for overflow when converting header size.
(from_oct): Now static. Now returns uintmax_t. `where' arg is now
const char *. Size arg is now size_t. Now takes new type and maxval
args. Compute result using uintmax_t, not long. Report error if
field does not contain octal number in range.
(gid_from_oct, major_from_oct, minor_from_oct, mode_from_oct,
off_from_oct, size_from_oct, time_from_oct, uid_from_oct,
uintmax_from_oct): New functions.
(stringify_uintmax_t_backwards): New function.
(decode_mode, print_for_mkdir): Mode arg is now mode_t.
(skip_file): Offset arg is now off_t.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(newdir_umask, current_umask): Now mode_t.
(extract_sparse_file): Args now use off_t.
(set_mode, set_stat, make_directories, extract_sparse_file,
extract_archive): Use off_t, size_t, ssize_t when appropriate. Remove
now-useless casts. Use unsigned long to print *_t types, except use
STRINGIFY_BIGINT for off_t.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(name_init): Fix typo in error message: FILE* was passed, but char*
was wanted.
(read_name_from_file, name_gather, addname, name_match, name_scan,
add_exclude): Use size_t when appropriate. Remove now-useless casts.
(exclude_pool_size, allocated_exclude_pool_size): Now size_t.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(extract_mangle): Check for overflow when converting off_t to size_t.
Use off_t, size_t when appropriate. Remove now-useless casts.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(do_command, rmt_open__, rmt_read__, rmt_lseek__, rmt_ioctl__): Use
pid_t, size_t, ssize_t when appropriate. Remove now-useless casts.
Use unsigned long to print *_t types, except use STRINGIFY_BIGINT for
off_t.
(get_status_string, get_status_off): New function.
(get_status): Now returns long, so that it can store ssize_t.
Invoke get_status_string to do the real work.
(rmt_read__, rmt_write__): Now returns ssize_t. Size arg is now size_t.
(rmt_lseek__): Now returns off_t, using new get_status_off function.
(rmt_ioctl__): Convert mt_count by hand, since it might be longer than long.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(check_decimal): Now returns 1 if successful, 0 otherwise, and returns
uintmax_t value into new arg. Check for arithmetic overflow.
(decode_options): Avoid overflow if record_size fits in size_t but not int.
Check for overflow on user or group ids.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(append_file) Use off_t, size_t, ssize_t when appropriate. Remove
now-useless casts. Use unsigned long to print *_t types, except use
STRINGIFY_BIGINT for off_t.
(update_archive): Cast -1 to dev_t when necessary.
Paul Eggert [Fri, 31 Oct 1997 00:58:55 +0000 (00:58 +0000)]
(allocated_size): Now size_t, and now initialized to 0.
(prepare_record_buffer): Arg is now size_t.
Remove now-useless casts.
(main): Use `long' for status, so that it can store ssize_t.
Use daddr_t, mode_t, size_t, off_t when appropriate.
Convert daddr_t and off_t values ourselves, since they might be longer
than long. Convert other types using `long' primitives.
When processing MTIOCTOP, do not try to pass resulting
count back, since it won't work (it could be too large) and it's
not expected anyway.
Paul Eggert [Mon, 27 Oct 1997 15:04:02 +0000 (15:04 +0000)]
Clarify 12am vs 12pm vs 12m.
Paul Eggert [Mon, 9 Jun 1997 22:22:27 +0000 (22:22 +0000)]
Initial revision
Paul Eggert [Fri, 25 Apr 1997 20:37:23 +0000 (20:37 +0000)]
GNU tar 1.12
Paul Eggert [Fri, 25 Apr 1997 20:21:24 +0000 (20:21 +0000)]
GNU tar 1.13