Paul Eggert [Fri, 26 Jan 2001 11:13:28 +0000 (11:13 +0000)]
Quote error message.
Paul Eggert [Sat, 13 Jan 2001 07:34:26 +0000 (07:34 +0000)]
-I has been withdrawn.
-N can now take file names.
Paul Eggert [Sat, 13 Jan 2001 06:11:36 +0000 (06:11 +0000)]
(savedir): Remove size arg.
Paul Eggert [Sat, 13 Jan 2001 06:04:48 +0000 (06:04 +0000)]
Add @setchapternewpage odd.
Remove -I as an alias for -T, for now.
Add @dircategory.
Update copyright. Remove "Published by".
Dates beginning with / or . are taken to be file names.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
system.h now does time.h stuff.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
Mention that only English is supported.
Show how to use "date" so that the output is acceptable to getdate.
Mention Z as an abbreviation for UTC.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
Initial revision
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
Include full-write.h.
(main): Update copyright.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
Include full-write.h.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
Include full-write.h, not safe-read.h.
full_write returns size_t, with short writes meaning failure.
All callers changed.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
(time): Do not declare.
(usage): Remove -I as an alias for -T>
(OPTION_STRING): Remove -I.
(decode_options): Dates that look like an absolute path name,
or that start with '.', are presumed to be file names whose
dates are taken.
Remove 'I' as an aliase for 'T'.
Update copyright.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
(savedir): Remove size arg; it wasn't portable. All callers changed.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
(relativize): New function.
> (relativize): New function, with much of old start_header's guts.
Handle filesystem prefixes.
(start_header): Use this new function.
(init_sparsearray): Don't bother to zero out the new array; it's not needed.
(deal_with_sparse): Fix array allocation bug.
(create_archive): Don't assume '/' is the only separator.
(dump_file): Likewise.
Don't worry about leading / in symlink targets.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
(name_next): Don't assume '/' is the only directory separator.
(namelist_match): Likewise.
(add_hierarchy_to_namelist): Remove dirsize arg.
Do not assume '/' is the only directory separator.
(new_name): Likewise.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
(_remdev): Look for / anywhere in Path.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
(<time.h>): Do not include; system.h now does this.
(time): Remove decl; likewise.
(child_open_for_uncompress): Use new full_write semantics.
(flush_write): Use ISSLASH instead of testing for '/'.
(flush_read): Likewise.
Paul Eggert [Sat, 13 Jan 2001 05:59:29 +0000 (05:59 +0000)]
(<time.h>): Do not include; system.h now does this.
(make_directories): Skip filesystem prefixes.
Don't assume '/' is the only separator.
(extract_sparse_file): Use new full_write semantics.
On write error, return instead of invoking skip_file.
Do not free sparsearray; caller does this now.
(apply_nonancestor_delayed_set_stat): Do not assume '/' is the only
separator.
(extract_archive): Don't assume file name lengths fit in int.
Report what got stripped from member name; it might be more than '/'.
Use new full_write semantics.
Do not pass redundant trailing "/" to mkdir, as POSIX does not allow
mkdir to ignore it.
Do not report mkdir error if old_files_option == KEEP_OLD_FILES.
Paul Eggert [Mon, 18 Dec 2000 23:43:51 +0000 (23:43 +0000)]
Initial revision
Paul Eggert [Wed, 6 Dec 2000 11:04:44 +0000 (11:04 +0000)]
serial 3
Paul Eggert [Mon, 6 Nov 2000 18:41:02 +0000 (18:41 +0000)]
fileutils 4.0.32
Paul Eggert [Fri, 3 Nov 2000 08:44:01 +0000 (08:44 +0000)]
fileutils 4.0.35
Paul Eggert [Fri, 3 Nov 2000 00:23:21 +0000 (00:23 +0000)]
Do not comment out all the code if we are using the GNU C library,
because in some cases we are replacing buggy code in the GNU C library itself.
Paul Eggert [Tue, 31 Oct 2000 07:08:05 +0000 (07:08 +0000)]
GNU fileutils 4.0.35
Paul Eggert [Tue, 31 Oct 2000 06:02:53 +0000 (06:02 +0000)]
(FOLD): Do not assume that characters are unsigned.
Paul Eggert [Sun, 29 Oct 2000 22:37:07 +0000 (22:37 +0000)]
Include fnmatch.h.
Paul Eggert [Sun, 29 Oct 2000 22:23:21 +0000 (22:23 +0000)]
Update email address, gzip 1.3 location, and Sparc GCC bugs.
Paul Eggert [Sun, 29 Oct 2000 22:23:21 +0000 (22:23 +0000)]
Describe 1.13.18.
Paul Eggert [Sun, 29 Oct 2000 05:30:02 +0000 (05:30 +0000)]
--no-recursion applies to extraction, too.
Paul Eggert [Sun, 29 Oct 2000 05:30:02 +0000 (05:30 +0000)]
(namelist_match, excluded_name): Do not match subfiles of a directory
if --no-recursion is specified.
Paul Eggert [Sun, 29 Oct 2000 05:30:02 +0000 (05:30 +0000)]
(dump_file): no_recurse_option -> ! recursion_option
Paul Eggert [Sun, 29 Oct 2000 05:30:02 +0000 (05:30 +0000)]
(NO_RECURSE_OPTION): Remove.
(long_options): Have getopt set the --no-recursion flag.
(decode_options): Initialize recursion_option to FNM_LEADING_DIR.
Remove case for NO_RECURSE_OPTION.
Paul Eggert [Sat, 28 Oct 2000 14:54:13 +0000 (14:54 +0000)]
Merge changes from fileutils.
Paul Eggert [Sat, 28 Oct 2000 12:42:45 +0000 (12:42 +0000)]
(namelist_match): New function.
(name_match, name_scan): Use it, to eliminate duplicate code.
(names_notfound): Remove special case for Amiga.
Paul Eggert [Sat, 28 Oct 2000 05:54:42 +0000 (05:54 +0000)]
(flush_read): If read_full_records_option, try to fill the input buffer,
as --delete -f - needs this.
Paul Eggert [Wed, 25 Oct 2000 05:21:06 +0000 (05:21 +0000)]
(decode_options): Check that volume label is not too long to overflow
name in tar header block.
Paul Eggert [Wed, 25 Oct 2000 05:21:06 +0000 (05:21 +0000)]
(check_label_pattern): Make sure header name is a string before
passing it to fnmatch.
(init_volume_number): Check for global_volno overflow.
(new_volume): Check for global_volno overflow.
Paul Eggert [Wed, 25 Oct 2000 05:21:06 +0000 (05:21 +0000)]
(EXTRA_DIST): Add strerror_r.m4.
Paul Eggert [Tue, 24 Oct 2000 06:37:55 +0000 (06:37 +0000)]
Include <time.h>, since we invoke "time".
Paul Eggert [Tue, 24 Oct 2000 06:34:45 +0000 (06:34 +0000)]
(prepend_default_options): Don't use NULL, for portability.
Paul Eggert [Tue, 24 Oct 2000 06:32:34 +0000 (06:32 +0000)]
Add "working" to message.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
New file, taken from fileutils 4.0.27, with the
following changes: Use @sc where appropriate. Document the ranges of
supported times more precisely. Add Eggert to getdate authors.
Document old Latin 12m/12pm tradition. Remove list of alphabetic time
zone names, as it wasn't correct and people shouldn't be relying on it
anyway. Relative items also account for non-DST adjustments. Fix
some misspellings.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
Initial revision
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
Include localedir.h.
(main): Update copyright date to 2000.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
Include localedir.h, prepargs.h.
(long_options): Now static.
(long_options, usage, decode_options): -j is now short for --bzip2,
and -I is now an alias for -T.
(decode_options, main): argv is not const pointer now.
(decode_options): Invoke prepend_default_options to support TAR_OPTIONS.
In diagnostic, mention the string that was the invalid blocking factor,
tape length, group, owner, or record size.
--delete is no longer incompatible with -f -, undoing 2000-01-07 change.
(main): Invoke extract_finish at end of extraction.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
Include hash.h.
(gnu_list_name): Remove decl.
(struct link): Remove "next" member.
(linklist): Remove.
(start_header): Say "leading `FOO'" rather than "`FOO' prefix" for consistency
with other diagnostics.
(deal_with_sparse): Check for I/O error when closing the file.
(create_archive):
Do not allocate an array of size PATH_MAX, as PATH_MAX might be (size_t) -1.
Instead, allocate an array with the size that's needed.
(hash_link, compare_links): New functions.
(dump_file): Do not exhaust open file descriptors when descending deeply
into a directory, by using savedir rather than opendir/readdir.
Do not zero-fill the name buffer unnecessarily.
Hash the set of links already created, instead of using a linked list.
Fix some bugs in outputting sparse files which caused the sparse tables
to be incorrect.
When a file unexpectedly shrinks, output zeros rather than garbage.
Do not allocate an array of size PATH_MAX, as PATH_MAX might be (size_t) -1.
Instead, allocate an array with the size that's needed.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
Fix comments.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
Add Free Documentation License. New section
"Overwrite Old Files", and revamp that section to make it easier to
follow. "tar" -> "GNU tar" where appropriate. Migrate getdate
documentation into getdate.texi. Fix several minor typos. Describe
TAR_OPTIONS. Describe incompatibility between incremental backups and
--atime-preserve. Describe incompatibility between --verify and other
options. Mention that tar normally removes symbolic links rather than
following them, when extracting a file of the same name.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(we_are_root): Now global.
(struct delayed_symlink): New type.
(delayed_symlink_head): New var.
(extr_init, fatal_exit):
Invoke extract_finish on fatal errors, not apply_delayed_set_stat.
(set_mode, set_stat): Pointer args are now const pointers.
(check_time): New function.
(set_stat): Warn if setting a file's timestamp to be the future.
(make_directories): Do not save and restore errno.
(maybe_recoverable): Set errno to ENOENT if we cannot make missing
intermediate directories.
(extract_archive):
Invoke apply_nonancestor_delayed_set_stat here, not in caller.
Extract potentially dangerous symbolic links more carefully, deferring their
creation until the end, and using a regular file placeholder in the meantime.
Do not remove trailing / and /. from file names.
Do not bother checking for ".." when checking whether a directory
loops back on itself, as loopbacks can occur with symlinks too.
Also, in that case, do not bother saving and restoring errno; just
set it to EEXIST.
(apply_nonancestor_delayed_set_stat): A prefix is a potential ancestor if
it ends in slash too (as well as ending in a char just before slash).
(apply_delayed_set_stat): Remove.
(apply_delayed_symlinks, extract_finish): New functions.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(update_archive): Use skip_member.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(read_and):
Do not invoke apply_nonancestor_delayed_set_stat;
DO_SOMETHING is now responsible for that.
Do not invoke apply_delayed_set_stat; our caller is now responsible for that.
(read_header): Use signed char instead of signed_char.
Prevent later references to current_header from
mistakenly treating it as an old GNU header.
(from_header): Quote invalid base-64 strings in diagnostics.
(time_from_header): Do not warn about future timestamps in archive;
check_time now does that.
(tartime): Fix off-by-one error when copying year if OLD_CTIME.
(print_header): Quote unknown file types.
(skip_member): New function, replacing skip_extended_headers and
now skipping the whole member instead of just the extended headers.
All callers changed. This makes the code handle extended headers
uniformly, and fixes some bugs.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(full_write): Some buggy drivers return 0 when you
fall off a device's end. Detect this.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(extract_mangle): Fix diagnostic with wrong number of %s'es.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(base_name): Do not include basename.h; declare base_name
instead.
(rexec): Don't declare unless using it.
(do_command): Simplify signal-handling code slightly.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(_GNU_SOURCE): Remove; autoconf now does this.
(child_open_for_compress, child_open_for_uncompress, close_archive):
Propagate any failure of the compression process back to "tar".
(open_archive, flush_write, flush_read, close_archive):
Do not allocate an array of size PATH_MAX, as PATH_MAX might be (size_t) -1.
Instead, allocate an array with the size that's needed.
(open_archive): Don't bother checking S_ISCHR of /dev/null.
(backspace_output): Don't try to backspace past start of archive.
(close_archive): Remove special case for DELETE_SUBCOMMAND.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(EXTRA_DIST): Add decl.m4, error.m4, mbstate_t.m4, prereq.m4.
Remove signedchar.m4.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(AC_FUNC_MATCH): Detect d*/*1 vs d/s/1 bug.
Paul Eggert [Tue, 24 Oct 2000 06:18:37 +0000 (06:18 +0000)]
(_GNU_SOURCE): Remove; autoconf now does this.
Include <hash.h>.
(getpwuid, getgrgid): Declare only if system headers don't.
(gid_to_gname): Don't invoke setgrent.
(namelist): Now static, not global.
(nametail): New var. All uses of namelast changed to use nametail,
with one extra level of indirection.
(name_gather): Use memcpy instead of strncpy + assignment of NUL.
(name_match): Set nametail too, when setting namelist to null.
(add_hierarchy_to_namelist): Change type of dir arg from char * to
struct name *, so that we don't have to look up the name again here.
Get change_dir from dir rather than as a separate arg. Add dirsize arg,
and pass it along to get_directory_contents. Remove unnecessary check
of directory type.
(new_name): Do not append a slash if PATH already ends in one.
(avoided_names, struct avoided_name): Remove.
(avoided_name_table): New var, replacing avoided_names.
(hash_avoided_name, compare_avoided_names): New function.
(add_avoided_name, is_avoided_name): Use hash table rather than linked list.
Paul Eggert [Fri, 20 Oct 2000 17:33:17 +0000 (17:33 +0000)]
Mention the GNU C library.
Paul Eggert [Fri, 20 Oct 2000 05:27:04 +0000 (05:27 +0000)]
Add a couple more test cases to catch bugs in glibc 2.1.95.
Paul Eggert [Tue, 17 Oct 2000 17:20:55 +0000 (17:20 +0000)]
(<limits.h>): Include if HAVE_LIMITS_H.
(CHAR_BIT): Define if not defined.
Paul Eggert [Tue, 17 Oct 2000 17:20:55 +0000 (17:20 +0000)]
(<limits.h>): Do not include; human.h does it if needed.
(CHAR_BIT): Remove.
Paul Eggert [Sat, 9 Sep 2000 15:57:28 +0000 (15:57 +0000)]
Initial revision
Paul Eggert [Mon, 7 Aug 2000 16:46:16 +0000 (16:46 +0000)]
Memory exhausted -> memory exhausted
Paul Eggert [Mon, 7 Aug 2000 16:02:21 +0000 (16:02 +0000)]
(xalloc_msg_memory_exhausted): change to array from char *.
Paul Eggert [Mon, 7 Aug 2000 04:27:00 +0000 (04:27 +0000)]
Define mbstate_t to be int, not char, for compatibility with glibc
2.1.3 strftime.c.
Paul Eggert [Sat, 15 Jul 2000 05:53:00 +0000 (05:53 +0000)]
Simplify exhausted message.
Paul Eggert [Tue, 11 Jul 2000 03:55:28 +0000 (03:55 +0000)]
(AC_MBSTATE_T): Renamed from AC_MBSTATE_T_OBJECT. All uses changed.
Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
and mbstate_t, to a single-part test that simply defines mbstate_t.
Paul Eggert [Sun, 9 Jul 2000 07:25:03 +0000 (07:25 +0000)]
fileutils 4.0x
Paul Eggert [Sun, 9 Jul 2000 07:25:03 +0000 (07:25 +0000)]
Initial revision
Paul Eggert [Wed, 5 Jul 2000 18:41:17 +0000 (18:41 +0000)]
(AC_MBSTATE_T_OBJECT): Test for mbstate_t only if the test
for an object-type mbstate_t fails.
Paul Eggert [Mon, 3 Jul 2000 22:04:18 +0000 (22:04 +0000)]
(AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
Paul Eggert [Sun, 2 Jul 2000 20:04:14 +0000 (20:04 +0000)]
textutils 2.0f
Paul Eggert [Mon, 26 Jun 2000 23:25:37 +0000 (23:25 +0000)]
(<unistd.h>): Do not include; there's no need.
(NAMLEN): Remove macro.
(malloc, realloc): Remove decls.
(stpcpy): Likewise.
("xalloc.h"): Include.
(NAME_SIZE_DEFAULT): New macro.
(savedir): Use xmalloc / xrealloc to allocate memory.
Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
Skip "" directory entries.
Use strlen to calculate directory entry length, since the old method
is rarely used these days and isn't worth supporting.
Check for integer overflow when calculating allocation size.
Use memcpy to copy entries, instead of stpcpy.
Set errno properly when returning NULL.
Check for readdir error.
Paul Eggert [Mon, 26 Jun 2000 18:53:06 +0000 (18:53 +0000)]
Include stdio.h before wchar.h, to work around a bug
in glibc 2.1.3.
Paul Eggert [Mon, 26 Jun 2000 18:46:37 +0000 (18:46 +0000)]
Fix inaccorate comment for xrealloc.
Paul Eggert [Thu, 15 Jun 2000 18:11:13 +0000 (18:11 +0000)]
(adjust_value): New function.
(human_readable_inexact): Apply rounding style even when printing
approximate values.
Paul Eggert [Thu, 15 Jun 2000 15:47:43 +0000 (15:47 +0000)]
Avoid shadowing warnings.
From: Jim Meyering <meyering@ascend.com>
Date: 15 Jun 2000 14:40:00 +0200
Paul Eggert [Thu, 15 Jun 2000 12:51:56 +0000 (12:51 +0000)]
White space changes, to match fileutils.
Paul Eggert [Thu, 15 Jun 2000 01:40:09 +0000 (01:40 +0000)]
(human_readable_inexact): Allow an input block size that is not a
multiple of the output block size, and vice versa.
Paul Eggert [Wed, 14 Jun 2000 17:57:26 +0000 (17:57 +0000)]
(get_date): Apply relative times after time zone indicator, not
before.
Paul Eggert [Thu, 8 Jun 2000 20:17:44 +0000 (20:17 +0000)]
Initial revision
Paul Eggert [Wed, 24 May 2000 20:08:51 +0000 (20:08 +0000)]
glibc snapshot
Paul Eggert [Wed, 19 Apr 2000 00:38:49 +0000 (00:38 +0000)]
Initial revision
Paul Eggert [Sun, 27 Feb 2000 17:52:01 +0000 (17:52 +0000)]
Initial revision
Paul Eggert [Thu, 24 Feb 2000 00:15:00 +0000 (00:15 +0000)]
(savedir): Work even if directory size is negative; this can
happen with some NFS screwups.
Paul Eggert [Sat, 19 Feb 2000 00:25:54 +0000 (00:25 +0000)]
Handle two-digit years with leading zeros correctly.
(textint): New typedef.
(parser_control): Changed from struct parser_control to typedef (for
consistency). Member year changed from int to textint. All uses changed.
(YYSTYPE): Removed; replaced by %union with int and textint members.
(tID): Removed; not used.
(tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
(tSNUMBER, tUNUMBER): Now of type <textintval>.
(date, number, to_year): Use width of number in digits, not its value,
to determine whether it's a 2-digit year, or a 2-digit time.
(yylex): Store number of digits of numeric tokens.
Return '?' for unknown identifiers, rather than (unused) tID.
Paul Eggert [Sat, 22 Jan 2000 14:23:13 +0000 (14:23 +0000)]
sh-utils-2.0f
Paul Eggert [Wed, 19 Jan 2000 14:00:07 +0000 (14:00 +0000)]
From Meyering
Paul Eggert [Mon, 17 Jan 2000 06:23:01 +0000 (06:23 +0000)]
Initial revision
Paul Eggert [Sun, 16 Jan 2000 04:45:26 +0000 (04:45 +0000)]
Change quoting to be compatible with future autoconf versions.
Paul Eggert [Fri, 7 Jan 2000 23:02:32 +0000 (23:02 +0000)]
Update copyright year.
Paul Eggert [Fri, 7 Jan 2000 23:02:32 +0000 (23:02 +0000)]
1.13.17 news
Paul Eggert [Fri, 7 Jan 2000 22:31:23 +0000 (22:31 +0000)]
Update copyright.
Paul Eggert [Fri, 7 Jan 2000 19:25:23 +0000 (19:25 +0000)]
(read_and): Invoke apply_nonancestor_delayed_set_stat on file names
after handling them.
(list_archive): Use consistent message for unexpected EOF.
Use error message functions to report errors consistently.
(read_header): Use xalloc_die to report memory exhaustion.
Use consistent message for unexpected EOF.
(decode_mode): Remove; moved to misc.c.
(skip_file): Use consistent message for unexpected EOF.
(skip_extended_headers): Likewise.
Paul Eggert [Fri, 7 Jan 2000 19:25:23 +0000 (19:25 +0000)]
(find_new_file_size): Return size instead of storing through pointer.
All callers changed.
(deal_with_sparse): Don't keep reading after read errors.
(finish_sparse_file): Just abort if there is an internal error.
Use error message functions to report errors consistently.
(dump_file): Fix typo: stat_warn and stat_error were interchanged.
Quote file names with colons if possible.
Don't restore access times on directories during incremental dumps
until after dealing with the directory.
If ignoring failed reads, count closedir errors as warnings, not errors.
Fix buffer overrun problem when dumping sparse files.
If ignoring failed reads, count read errors as warnings, not errors.
Use error message functions to report errors consistently.
If ignoring failed reads, count unknown files as warnings, not errors.
Paul Eggert [Fri, 7 Jan 2000 19:25:23 +0000 (19:25 +0000)]
(extract_mangle): Use xalloc_die to report memory exhaustion.
Quote file names with colons if possible.
Paul Eggert [Fri, 7 Jan 2000 19:25:23 +0000 (19:25 +0000)]
(extr_init): If we run out of memory, invoke apply_delayed_set_stat.
(set_mode): Use Use error message functions to report errors consistently.
(set_stat): Likewise.
(repair_delayed_set_stat): Quote file names with colons if possible.
(prepare_to_extract): Don't complain if we can't remove ".".
(extract_sparse_file): Use consistent message for unexpected EOF.
Use error message functions to report errors consistently.
(extract_archive): Use consistent message for unexpected EOF.
Use error message functions to report errors consistently.
Quote file names with colons if possible.
(apply_delayed_set_stat): New function.
(apply_nonancestor_delayed_set_stat): Renamed from apply_delayed_set_stat.
Don't remove head if it doesn't apply.
(fatal_exit): Invoke apply_delayed_set_stat with no args.
Paul Eggert [Fri, 7 Jan 2000 19:25:23 +0000 (19:25 +0000)]
(decode_options): Use xalloc_die to report memory exhaustion.
--delete and -f - are now incompatible, since we didn't have time
to fix their bugs.
Paul Eggert [Fri, 7 Jan 2000 19:25:23 +0000 (19:25 +0000)]
(archive_write_error): Add noreturn attribute to decl.
(xclose): Use close_error.
(xdup2): Regularize messages with rest of tar.
(archive_write_error): Use write_fatal_details.
(flush_read): Don't read past EOF.
(flush_archive, close_archive, new_volume): Use close_warn.