Commit Graph

636 Commits

Author SHA1 Message Date
Paul Eggert
11c437d44b (malloc): Undef before defining. 2001-02-16 18:57:56 +00:00
Paul Eggert
107e9fad31 Quote error message. 2001-01-26 11:13:28 +00:00
Paul Eggert
d5c599707a -I has been withdrawn.
-N can now take file names.
2001-01-13 07:34:26 +00:00
Paul Eggert
b6e04fa518 (savedir): Remove size arg. 2001-01-13 06:11:36 +00:00
Paul Eggert
0ca532a59c 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.
2001-01-13 06:04:48 +00:00
Paul Eggert
8bfa7852ec system.h now does time.h stuff. 2001-01-13 05:59:29 +00:00
Paul Eggert
188ff43355 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.
2001-01-13 05:59:29 +00:00
Paul Eggert
b4c3a9637b Initial revision 2001-01-13 05:59:29 +00:00
Paul Eggert
649897fb75 Include full-write.h.
(main): Update copyright.
2001-01-13 05:59:29 +00:00
Paul Eggert
56147d0b43 Include full-write.h. 2001-01-13 05:59:29 +00:00
Paul Eggert
ff7194169a Include full-write.h, not safe-read.h.
full_write returns size_t, with short writes meaning failure.
All callers changed.
2001-01-13 05:59:29 +00:00
Paul Eggert
d32dfe5d5e (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.
2001-01-13 05:59:29 +00:00
Paul Eggert
df72d04b36 (savedir): Remove size arg; it wasn't portable. All callers changed. 2001-01-13 05:59:29 +00:00
Paul Eggert
a6d27a4aa4 (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.
2001-01-13 05:59:29 +00:00
Paul Eggert
9b71c10982 (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.
2001-01-13 05:59:29 +00:00
Paul Eggert
a19097f3e6 (_remdev): Look for / anywhere in Path. 2001-01-13 05:59:29 +00:00
Paul Eggert
3b6f724b92 (<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.
2001-01-13 05:59:29 +00:00
Paul Eggert
eca497ef34 (<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.
2001-01-13 05:59:29 +00:00
Paul Eggert
1ff433e49e Initial revision 2000-12-18 23:43:51 +00:00
Paul Eggert
fe3bb7688e serial 3 2000-12-06 11:04:44 +00:00
Paul Eggert
b7b10f12ab fileutils 4.0.32 2000-11-06 18:41:02 +00:00
Paul Eggert
da024ba683 fileutils 4.0.35 2000-11-03 08:44:01 +00:00
Paul Eggert
89d47c634e 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.
2000-11-03 00:23:21 +00:00
Paul Eggert
eed2c0077d GNU fileutils 4.0.35 2000-10-31 07:08:05 +00:00
Paul Eggert
731cf2666a (FOLD): Do not assume that characters are unsigned. 2000-10-31 06:02:53 +00:00
Paul Eggert
04182eb50c Include fnmatch.h. 2000-10-29 22:37:07 +00:00
Paul Eggert
ffcddc2e16 Update email address, gzip 1.3 location, and Sparc GCC bugs. 2000-10-29 22:23:21 +00:00
Paul Eggert
a829f56a6e Describe 1.13.18. 2000-10-29 22:23:21 +00:00
Paul Eggert
aab3197a59 --no-recursion applies to extraction, too. 2000-10-29 05:30:02 +00:00
Paul Eggert
fb93b996c8 (namelist_match, excluded_name): Do not match subfiles of a directory
if --no-recursion is specified.
2000-10-29 05:30:02 +00:00
Paul Eggert
345eb9f767 (dump_file): no_recurse_option -> ! recursion_option 2000-10-29 05:30:02 +00:00
Paul Eggert
f7767dbad2 (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.
2000-10-29 05:30:02 +00:00
Paul Eggert
f0fccfdb5d Merge changes from fileutils. 2000-10-28 14:54:13 +00:00
Paul Eggert
8d37615dc4 (namelist_match): New function.
(name_match, name_scan): Use it, to eliminate duplicate code.
(names_notfound): Remove special case for Amiga.
2000-10-28 12:42:45 +00:00
Paul Eggert
7abb9b854d (flush_read): If read_full_records_option, try to fill the input buffer,
as --delete -f - needs this.
2000-10-28 05:54:42 +00:00
Paul Eggert
d2f18d9ecb (decode_options): Check that volume label is not too long to overflow
name in tar header block.
2000-10-25 05:21:06 +00:00
Paul Eggert
29c1020f91 (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.
2000-10-25 05:21:06 +00:00
Paul Eggert
31acaa13bf (EXTRA_DIST): Add strerror_r.m4. 2000-10-25 05:21:06 +00:00
Paul Eggert
22596ef599 Include <time.h>, since we invoke "time". 2000-10-24 06:37:55 +00:00
Paul Eggert
614f749ff7 (prepend_default_options): Don't use NULL, for portability. 2000-10-24 06:34:45 +00:00
Paul Eggert
9645edc0ba Add "working" to message. 2000-10-24 06:32:34 +00:00
Paul Eggert
f566b8f147 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.
2000-10-24 06:18:37 +00:00
Paul Eggert
e7d0a7724b Initial revision 2000-10-24 06:18:37 +00:00
Paul Eggert
f326d78fda Include localedir.h.
(main): Update copyright date to 2000.
2000-10-24 06:18:37 +00:00
Paul Eggert
caf6047e1e 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.
2000-10-24 06:18:37 +00:00
Paul Eggert
8111f9d34d 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.
2000-10-24 06:18:37 +00:00
Paul Eggert
e0fe240d7c Fix comments. 2000-10-24 06:18:37 +00:00
Paul Eggert
ae2b051832 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.
2000-10-24 06:18:37 +00:00
Paul Eggert
e89bcb7fb3 (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.
2000-10-24 06:18:37 +00:00
Paul Eggert
2f04b655d8 (update_archive): Use skip_member. 2000-10-24 06:18:37 +00:00