Commit Graph

555 Commits

Author SHA1 Message Date
Paul Eggert
44579f77cf (get_date): Apply relative times after time zone indicator, not
before.
2000-06-14 17:57:26 +00:00
Paul Eggert
addd73b34a Initial revision 2000-06-08 20:17:44 +00:00
Paul Eggert
74497f7010 glibc snapshot 2000-05-24 20:08:51 +00:00
Paul Eggert
0b9f42e41a Initial revision 2000-04-19 00:38:49 +00:00
Paul Eggert
a9d7ae22a8 Initial revision 2000-02-27 17:52:01 +00:00
Paul Eggert
977e420a35 (savedir): Work even if directory size is negative; this can
happen with some NFS screwups.
2000-02-24 00:15:00 +00:00
Paul Eggert
3a19b8b0df 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.
2000-02-19 00:25:54 +00:00
Paul Eggert
19209ceaf7 sh-utils-2.0f 2000-01-22 14:23:13 +00:00
Paul Eggert
8d5417b2ef From Meyering 2000-01-19 14:00:07 +00:00
Paul Eggert
54bb77bfca Initial revision 2000-01-17 06:23:01 +00:00
Paul Eggert
619c6ea42f Change quoting to be compatible with future autoconf versions. 2000-01-16 04:45:26 +00:00
Paul Eggert
ba2ef4d075 Update copyright year. 2000-01-07 23:02:32 +00:00
Paul Eggert
e1fba9a30b 1.13.17 news 2000-01-07 23:02:32 +00:00
Paul Eggert
40e03ba28d Update copyright. 2000-01-07 22:31:23 +00:00
Paul Eggert
c18999bad5 (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.
2000-01-07 19:25:23 +00:00
Paul Eggert
f74454cb37 (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.
2000-01-07 19:25:23 +00:00
Paul Eggert
f2b8b4a42d (extract_mangle): Use xalloc_die to report memory exhaustion.
Quote file names with colons if possible.
2000-01-07 19:25:23 +00:00
Paul Eggert
53f16a5971 (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.
2000-01-07 19:25:23 +00:00
Paul Eggert
c598438dd2 (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.
2000-01-07 19:25:23 +00:00
Paul Eggert
cae3ad0d8e (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.
2000-01-07 19:25:23 +00:00
Paul Eggert
db3693939d (append_file): Use error message functions to report errors consistently. 2000-01-07 19:25:23 +00:00
Paul Eggert
622da12896 Sync tm_diff with the GNU C Library.
(TM_YEAR_BASE): Renamed from TM_YEAR_ORIGIN.  All uses changed.
(tm_diff): Renamed from difftm.  All uses changed.
Replace body with that taken from GNU C Library 2.1.3pre1.
(get_date): Prefer tm_gmtoff to tm_diff if available.
2000-01-06 18:07:38 +00:00
Paul Eggert
78646b1f11 Initial revision 2000-01-04 22:54:54 +00:00
Paul Eggert
abdde50e1b (get_date):
Fix typo when checking for time_t overflow in time zone calculations.
1999-12-22 18:10:37 +00:00
Paul Eggert
e844ee7e6c Version 1.13.16 1999-12-13 05:35:02 +00:00
Paul Eggert
afec289954 New sections for gzip and bzip2, Solaris.
Remove mention of BACKLOG.
1999-12-13 05:34:39 +00:00
Paul Eggert
a78ab36e1e (<quotearg.h>): New include.
(append_file):
Don't assume that gettext preserves errno.
Quote arbitrary strings in diagnostics.
Check for close error.
1999-12-13 05:11:05 +00:00
Paul Eggert
c6720c5a8b ("quotearg.h"): New include.
(usage): Now has __attribute__ ((noreturn)).
(confirm): Report errno if we can't open tty.
(confirm, decode_options):
Quote arbitrary strings in diagnostics.
(OVERWRITE_OPTION): New constant.
(long_options, usage, decode_options): New --overwrite option.
(decode_options): --keep-old-files, --overwrite, and --unlink-first
are now mutually exclusive.
Don't assume that gettext preserves errno.
(main): Set default quoting style to escape_quoting_style.
1999-12-13 05:11:05 +00:00
Paul Eggert
df2ff9e4e4 (read_and, list_archive):
Quote arbitrary strings in diagnostics.
(from_header): Use locale_quoting_style to quote diagnostics.
(print_header, print_for_mkdir): Quote with quotearg, not quote_copy_string.
1999-12-13 04:52:26 +00:00
Paul Eggert
aef747068b (decode_oflag): O_APPEND might not be defined. 1999-12-13 04:52:26 +00:00
Paul Eggert
a3f819a9d7 (REM_BIAS): Increase from 128 to (1 << 30). 1999-12-13 04:52:26 +00:00
Paul Eggert
f0429c4a22 (<quotearg.h>): New include.
(name_init, name_next, name_close, names_notfound, collect_and_sort_names):
Don't assume that gettext preserves errno.
Quote arbitrary strings in diagnostics.
(excluded_name): Fix typo that caused empty patterns to be mishandled.
1999-12-13 04:52:26 +00:00
Paul Eggert
6e9d1539b6 (<quotearg.h>): New include.
(enum permstatus): New enum.
(struct delayed_set_stat): file_name is now at end of buffer, to avoid
two mallocs.  New members file_name_len, invert_permissions, permstatus.
(extr_init): Remove hack that silently adjusted newdir_umask.
(set_mode, set_stat): New args invert_permissions, permstatus, typeflag.
Use these args to decide whether and how to set modes.
(set_mode, set_stat, prepare_to_extract, extract_sparse_file, extract_archive):
Don't assume that gettext preserves errno.
(set_stat): Remove arg symlink_flag; subsumed by typeflag.
(delay_set_stat, repair_delayed_set_stat): New functions.
(make_directories): Avoid mkdir where last part of path is "..".
Create a struct delayed_set_stat for each directory made.
(prepare_to_extract): Renamed from unlink_destination, and
return 0 immediately if to_stdout_option; all callers changed.
(maybe_recoverable): New parameter interdir_made.
Add support for --overwrite.
(extract_sparse_file, extract_archive):
Quote arbitrary strings in diagnostics.
(extract_archive): By default, warn about ".." in member names, and skip them.
Don't open files with O_NONBLOCK or O_APPEND.
Open with O_TRUNC only if --overwrite; otherwise, use O_EXCL to avoid
overwriting them.  Pass only rwxrwxrwx permissions to `open' and `mkdir',
minus the current umask.  Keep track of intermediate directories made,
to avoid looping when making x/../x when x doesn't exist; the
earlier code solved this in a different way that didn't fit well
into the new scheme.  Don't extract permissions onto existing
directories unless --overwrite is given.  Do not add -wx------
permissions to new directories permanently; just do it temporarily.
Remove no-longer-needed hack with MSDOS and directory time stamps.
(apply_delayed_set_stat): New argument specifies which directories to
fix statuses of.  Do not wait until the end of extraction to fix
statuses; instead, fix a directory's status once we exit that directory.
This requires less memory and does the right thing in some cases
where the old method didn't.
(fatal_exit): New function.
1999-12-13 03:26:04 +00:00
Paul Eggert
ed7e2ec8a3 (<quotearg.h>): New include.
(start_header): Use `member names' to refer to archive member names, not
`archive names'.  Warn about `..' in member names.
(finish_sparse_file, dump_file):
Quote arbitrary strings in diagnostics.
(finish_sparse_file, dump_file):
Don't assume that gettext preserves errno.
(dump_file): Don't use `access' to determine whether a directory is readable;
this isn't reliable if tar is setuid.  Use `opendir' instead.
Check for readdir and closedir failures.
Don't dump sockets as if they were fifos; just warn and skip.
1999-12-13 03:07:14 +00:00
Paul Eggert
196caec187 (xclose, xdup2, child_open_for_compress, child_open_for_uncompress,
archive_write_error, archive_read_error, flush_archive, close_archive,
init_volume_number, new_volume):
Don't assume that gettext preserves errno.

(xdup2): Don't report errno if dup returns an unexpected nonnegative value.
(open_archive): Reject multivolume verify attempts a bit earlier.
Rename local variable `access', in case it's defined by system header.

(open_archive, backspace_output): Use `Cannot' uniformly, instead of
`Could not' sometimes and `Cannot' others.

(open_archive, flush_read, flush_archive, close_archive, new_volume):
Quote arbitrary strings in diagnostics.

(read_error): Set archive to STDOUT_FILENO temporarily when writing
archive buffer.

(init_volume_number): Check for input and output errors in volno_file.

(new_volume): Use new fatal_exit function to exit, and new xfork
function to fork.
1999-12-13 02:51:14 +00:00
Paul Eggert
c291b38642 Use ## on copyright notice. 1999-12-13 02:24:29 +00:00
Paul Eggert
1d0be6dc89 Initial revision 1999-12-13 02:24:29 +00:00
Paul Eggert
79dd2b901c Add --overwrite.
--absolute-names rejects ".." in names.
1999-12-13 02:24:29 +00:00
Paul Eggert
8ac581c8d7 (EXTRA_DIST): Add c-bs-a.m4. 1999-12-13 02:24:29 +00:00
Paul Eggert
c05634ea03 Initial revision 1999-12-13 02:18:40 +00:00
Paul Eggert
1b1811108a version 1.13.15 1999-12-03 13:52:46 +00:00
Paul Eggert
86b765527a (dump_file): Undo previous change about diagnosing unexpectely missing
files.  Instead, diagnose them a bit better.

Report that a file changed if its ctime changes; this is more
sensitive than mtime+size, and more accurate.
1999-12-03 13:46:09 +00:00
Paul Eggert
c9f5ead8de Remove bogus errno FIXMEs. 1999-12-03 13:04:17 +00:00
Paul Eggert
bc9dc01ec3 (name_next): If file names are given both in the
command line (e.g. via -C) and in a file (via -T), do not
ignore the command-line names.
1999-12-03 13:04:17 +00:00
Paul Eggert
3495d84e27 (dump_file): Do not diagnose a file that the parent directory
said should be there, but is absent.  It was
probably removed between then and now.
Do not pass meaningless errno to ERROR when reporting that the
file changed as we read it.
1999-12-03 13:04:17 +00:00
Paul Eggert
f02e40005c Clarify getdate authorship. 1999-12-03 13:03:44 +00:00
Paul Eggert
20db0a5cf1 Backport to autoconf 2.13. 1999-12-03 12:51:25 +00:00
Paul Eggert
822d481ab8 Version 1.13.14. 1999-11-07 22:05:04 +00:00
Paul Eggert
04f1deefad (finish_header): Report block numbers with origin 0, not origin 1. 1999-11-07 22:01:27 +00:00
Paul Eggert
23842e32bb New node create options for --ignore-failed-read.
Remove unused version control symbols.
Modernize texinfo usage.
1999-11-07 21:27:40 +00:00