Commit Graph

  • b4c3a9637b Initial revision Paul Eggert 2001-01-13 05:59:29 +00:00
  • 649897fb75 Include full-write.h. (main): Update copyright. Paul Eggert 2001-01-13 05:59:29 +00:00
  • 56147d0b43 Include full-write.h. Paul Eggert 2001-01-13 05:59:29 +00:00
  • ff7194169a Include full-write.h, not safe-read.h. full_write returns size_t, with short writes meaning failure. All callers changed. Paul Eggert 2001-01-13 05:59:29 +00:00
  • 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. Paul Eggert 2001-01-13 05:59:29 +00:00
  • df72d04b36 (savedir): Remove size arg; it wasn't portable. All callers changed. Paul Eggert 2001-01-13 05:59:29 +00:00
  • 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. Paul Eggert 2001-01-13 05:59:29 +00:00
  • 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. Paul Eggert 2001-01-13 05:59:29 +00:00
  • a19097f3e6 (_remdev): Look for / anywhere in Path. Paul Eggert 2001-01-13 05:59:29 +00:00
  • 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. Paul Eggert 2001-01-13 05:59:29 +00:00
  • 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. Paul Eggert 2001-01-13 05:59:29 +00:00
  • 1ff433e49e Initial revision Paul Eggert 2000-12-18 23:43:51 +00:00
  • fe3bb7688e serial 3 Paul Eggert 2000-12-06 11:04:44 +00:00
  • b7b10f12ab fileutils 4.0.32 Paul Eggert 2000-11-06 18:41:02 +00:00
  • da024ba683 fileutils 4.0.35 Paul Eggert 2000-11-03 08:44:01 +00:00
  • 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. Paul Eggert 2000-11-03 00:23:21 +00:00
  • eed2c0077d GNU fileutils 4.0.35 Paul Eggert 2000-10-31 07:08:05 +00:00
  • 731cf2666a (FOLD): Do not assume that characters are unsigned. Paul Eggert 2000-10-31 06:02:53 +00:00
  • 04182eb50c Include fnmatch.h. Paul Eggert 2000-10-29 22:37:07 +00:00
  • ffcddc2e16 Update email address, gzip 1.3 location, and Sparc GCC bugs. Paul Eggert 2000-10-29 22:23:21 +00:00
  • a829f56a6e Describe 1.13.18. Paul Eggert 2000-10-29 22:23:21 +00:00
  • aab3197a59 --no-recursion applies to extraction, too. Paul Eggert 2000-10-29 05:30:02 +00:00
  • fb93b996c8 (namelist_match, excluded_name): Do not match subfiles of a directory if --no-recursion is specified. Paul Eggert 2000-10-29 05:30:02 +00:00
  • 345eb9f767 (dump_file): no_recurse_option -> ! recursion_option Paul Eggert 2000-10-29 05:30:02 +00:00
  • 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. Paul Eggert 2000-10-29 05:30:02 +00:00
  • f0fccfdb5d Merge changes from fileutils. Paul Eggert 2000-10-28 14:54:13 +00:00
  • 8d37615dc4 (namelist_match): New function. (name_match, name_scan): Use it, to eliminate duplicate code. (names_notfound): Remove special case for Amiga. Paul Eggert 2000-10-28 12:42:45 +00:00
  • 7abb9b854d (flush_read): If read_full_records_option, try to fill the input buffer, as --delete -f - needs this. Paul Eggert 2000-10-28 05:54:42 +00:00
  • d2f18d9ecb (decode_options): Check that volume label is not too long to overflow name in tar header block. Paul Eggert 2000-10-25 05:21:06 +00:00
  • 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. Paul Eggert 2000-10-25 05:21:06 +00:00
  • 31acaa13bf (EXTRA_DIST): Add strerror_r.m4. Paul Eggert 2000-10-25 05:21:06 +00:00
  • 22596ef599 Include <time.h>, since we invoke "time". Paul Eggert 2000-10-24 06:37:55 +00:00
  • 614f749ff7 (prepend_default_options): Don't use NULL, for portability. Paul Eggert 2000-10-24 06:34:45 +00:00
  • 9645edc0ba Add "working" to message. Paul Eggert 2000-10-24 06:32:34 +00:00
  • 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. Paul Eggert 2000-10-24 06:18:37 +00:00
  • e7d0a7724b Initial revision Paul Eggert 2000-10-24 06:18:37 +00:00
  • f326d78fda Include localedir.h. (main): Update copyright date to 2000. Paul Eggert 2000-10-24 06:18:37 +00:00
  • 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. Paul Eggert 2000-10-24 06:18:37 +00:00
  • 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. Paul Eggert 2000-10-24 06:18:37 +00:00
  • e0fe240d7c Fix comments. Paul Eggert 2000-10-24 06:18:37 +00:00
  • 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. Paul Eggert 2000-10-24 06:18:37 +00:00
  • 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. Paul Eggert 2000-10-24 06:18:37 +00:00
  • 2f04b655d8 (update_archive): Use skip_member. Paul Eggert 2000-10-24 06:18:37 +00:00
  • bc8d000b64 (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 2000-10-24 06:18:37 +00:00
  • 5156a90a1e (full_write): Some buggy drivers return 0 when you fall off a device's end. Detect this. Paul Eggert 2000-10-24 06:18:37 +00:00
  • 8d8a85f9a2 (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 2000-10-24 06:18:37 +00:00
  • 8a098729c0 (extract_mangle): Fix diagnostic with wrong number of %s'es. Paul Eggert 2000-10-24 06:18:37 +00:00
  • 257a4160e4 (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 2000-10-24 06:18:37 +00:00
  • 4dcebd9655 (_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 2000-10-24 06:18:37 +00:00
  • 8c308d8315 (EXTRA_DIST): Add decl.m4, error.m4, mbstate_t.m4, prereq.m4. Remove signedchar.m4. Paul Eggert 2000-10-24 06:18:37 +00:00
  • a6f11d4092 (AC_FUNC_MATCH): Detect d*/*1 vs d/s/1 bug. Paul Eggert 2000-10-24 06:18:37 +00:00
  • 85e724550f (_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 2000-10-24 06:18:37 +00:00
  • b20005e951 Mention the GNU C library. Paul Eggert 2000-10-20 17:33:17 +00:00
  • 2473f7fad6 Add a couple more test cases to catch bugs in glibc 2.1.95. Paul Eggert 2000-10-20 05:27:04 +00:00
  • 8caec82653 (<limits.h>): Include if HAVE_LIMITS_H. (CHAR_BIT): Define if not defined. Paul Eggert 2000-10-17 17:20:55 +00:00
  • 9d290bf45e (<limits.h>): Do not include; human.h does it if needed. (CHAR_BIT): Remove. Paul Eggert 2000-10-17 17:20:55 +00:00
  • 5ed9bdbf57 Initial revision Paul Eggert 2000-09-09 15:57:28 +00:00
  • c86c626f04 Memory exhausted -> memory exhausted Paul Eggert 2000-08-07 16:46:16 +00:00
  • 9a742c498f (xalloc_msg_memory_exhausted): change to array from char *. Paul Eggert 2000-08-07 16:02:21 +00:00
  • 54278395ab Define mbstate_t to be int, not char, for compatibility with glibc 2.1.3 strftime.c. Paul Eggert 2000-08-07 04:27:00 +00:00
  • 1063141801 Simplify exhausted message. Paul Eggert 2000-07-15 05:53:00 +00:00
  • cf4b8601b4 (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 2000-07-11 03:55:28 +00:00
  • f03a9c9335 fileutils 4.0x Paul Eggert 2000-07-09 07:25:03 +00:00
  • a70cec699f Initial revision Paul Eggert 2000-07-09 07:25:03 +00:00
  • 12d0cc62bb (AC_MBSTATE_T_OBJECT): Test for mbstate_t only if the test for an object-type mbstate_t fails. Paul Eggert 2000-07-05 18:41:17 +00:00
  • 73266a46f3 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13. Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H. Paul Eggert 2000-07-03 22:04:18 +00:00
  • 865e5f3295 textutils 2.0f Paul Eggert 2000-07-02 20:04:14 +00:00
  • f996454418 (<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 2000-06-26 23:25:37 +00:00
  • ee21d9f1e3 Include stdio.h before wchar.h, to work around a bug in glibc 2.1.3. Paul Eggert 2000-06-26 18:53:06 +00:00
  • b0a7ff33fd Fix inaccorate comment for xrealloc. Paul Eggert 2000-06-26 18:46:37 +00:00
  • c61d0787ce (adjust_value): New function. (human_readable_inexact): Apply rounding style even when printing approximate values. Paul Eggert 2000-06-15 18:11:13 +00:00
  • c9dfa7a7e8 Avoid shadowing warnings. From: Jim Meyering <meyering@ascend.com> Date: 15 Jun 2000 14:40:00 +0200 Paul Eggert 2000-06-15 15:47:43 +00:00
  • bff9056e88 White space changes, to match fileutils. Paul Eggert 2000-06-15 12:51:56 +00:00
  • e1c9c92abd (human_readable_inexact): Allow an input block size that is not a multiple of the output block size, and vice versa. Paul Eggert 2000-06-15 01:40:09 +00:00
  • 44579f77cf (get_date): Apply relative times after time zone indicator, not before. Paul Eggert 2000-06-14 17:57:26 +00:00
  • addd73b34a Initial revision Paul Eggert 2000-06-08 20:17:44 +00:00
  • 74497f7010 glibc snapshot Paul Eggert 2000-05-24 20:08:51 +00:00
  • 0b9f42e41a Initial revision Paul Eggert 2000-04-19 00:38:49 +00:00
  • a9d7ae22a8 Initial revision Paul Eggert 2000-02-27 17:52:01 +00:00
  • 977e420a35 (savedir): Work even if directory size is negative; this can happen with some NFS screwups. Paul Eggert 2000-02-24 00:15:00 +00:00
  • 3a19b8b0df Handle two-digit years with leading zeros correctly. Paul Eggert 2000-02-19 00:25:54 +00:00
  • 19209ceaf7 sh-utils-2.0f Paul Eggert 2000-01-22 14:23:13 +00:00
  • 8d5417b2ef From Meyering Paul Eggert 2000-01-19 14:00:07 +00:00
  • 54bb77bfca Initial revision Paul Eggert 2000-01-17 06:23:01 +00:00
  • 619c6ea42f Change quoting to be compatible with future autoconf versions. Paul Eggert 2000-01-16 04:45:26 +00:00
  • ba2ef4d075 Update copyright year. Paul Eggert 2000-01-07 23:02:32 +00:00
  • e1fba9a30b 1.13.17 news Paul Eggert 2000-01-07 23:02:32 +00:00
  • 40e03ba28d Update copyright. Paul Eggert 2000-01-07 22:31:23 +00:00
  • 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. Paul Eggert 2000-01-07 19:25:23 +00:00
  • 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. Paul Eggert 2000-01-07 19:25:23 +00:00
  • f2b8b4a42d (extract_mangle): Use xalloc_die to report memory exhaustion. Quote file names with colons if possible. Paul Eggert 2000-01-07 19:25:23 +00:00
  • 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. Paul Eggert 2000-01-07 19:25:23 +00:00
  • 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. Paul Eggert 2000-01-07 19:25:23 +00:00
  • 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. Paul Eggert 2000-01-07 19:25:23 +00:00
  • db3693939d (append_file): Use error message functions to report errors consistently. Paul Eggert 2000-01-07 19:25:23 +00:00
  • 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. Paul Eggert 2000-01-06 18:07:38 +00:00
  • 78646b1f11 Initial revision Paul Eggert 2000-01-04 22:54:54 +00:00
  • abdde50e1b (get_date): Fix typo when checking for time_t overflow in time zone calculations. Paul Eggert 1999-12-22 18:10:37 +00:00
  • e844ee7e6c Version 1.13.16 Paul Eggert 1999-12-13 05:35:02 +00:00
  • afec289954 New sections for gzip and bzip2, Solaris. Remove mention of BACKLOG. Paul Eggert 1999-12-13 05:34:39 +00:00