Commit Graph

  • c0d324c43c Add copyright notice. (<stdio.h>): Include only if testing. (ISUPPER): Remove. (ISLOWER): New macro. (<string.h>): Include if HAVE_STRING_H, not USG. (bcopy): Remove. (yymaxdepth, ..., yycheck): Don't bother to redefine, since we can assume bison. (EPOCH_YEAR): Renamed from EPOCH. (table): Renamed from TABLE. (meridian): Now an anonymous enum. (struct parser_control): New type. (YYLEX_PARAM, YYPARSE_PARAM, YYSTYPE): New macros. (yyInput, ..., yyRelYear): Migrated into struct parser_control. (%pure_parser): Added, so that the parser is pure. (%union): Removed; the type is now just plain int. All %type directives removed. (tLOCAL_ZONE): New %token. (month_day_table): Renamed from MonthDayTable. (gmtime, localtime, mktime, time): Declare only if not defined. (meridian_table): New table. (dst_table): New table. (units_table): renamed from UnitsTable. (relative_time_table): Renamed from OtherTable. (time_zone_table): Renamed from TimezoneTable. Modernized. (military_table): Renamed from MilitaryTable. (to_hour): Renamed from ToHour. (to_year): Renamed from ToYear. (lookup_zone): New function. (LookupWord): Renamed from lookup_word. Use lookup_zone for time zones. (yylex): Now reentrant. All callers changed. (get_date): Add support for local time zone abbreviations. Make it reentrant. Paul Eggert 1999-08-23 09:55:55 +00:00
  • 38d825f34b 1.13.11 Paul Eggert 1999-08-23 09:55:55 +00:00
  • 6b6064c3fa --bzip2 is now -I. Remove bogus time zone info. Fix spelling. Paul Eggert 1999-08-23 09:55:55 +00:00
  • 984190dcc6 (time): Do not declare if defined. (first_mangle, mangled_num): Now static. Paul Eggert 1999-08-23 09:55:55 +00:00
  • 2ac3be1648 version 1.13.10 Paul Eggert 1999-08-20 09:13:42 +00:00
  • f74aea3ae3 (name_next): Use chdir_from_initial_wd, not chdir. (name_gather): Handle `-C x -C y' correctly. Do not rely on addname to handle -C. (addname): New CHANGE_DIR parameter. Remove ugly calls to getcwd; no longer needed now that we have save-cwd. (name_match): Use chdir_from_initial_wd, not chdir. (name_from_list): Likewise. Paul Eggert 1999-08-20 08:53:21 +00:00
  • 2eaf29f3fb (decode_options): Adjust to addname's new signature. Paul Eggert 1999-08-20 08:53:21 +00:00
  • 2c3d0a2dcd (to_chars): Generate GNU base-64 representation if we are generating an old or new GNU format tar file for a number that can't be represented with the POSIX format. Paul Eggert 1999-08-20 08:41:32 +00:00
  • 6dccec3ba4 (max): New macro. (isotime): Now takes time_t, not time_t *. Report the decimal values of times that can't be broken down. (print_header): Don't assume that major and minor device numbers can fit into uintmax_t. Paul Eggert 1999-08-20 08:41:32 +00:00
  • f34eafea87 (TimezoneTable): Modernize to current tz data. Paul Eggert 1999-08-20 08:41:32 +00:00
  • 6a5e9283fb (EXTRA_DIST): Add getline.m4. Paul Eggert 1999-08-20 08:41:32 +00:00
  • 22ee808ffe (from_chars): Skip only the initial null byte from buggy tars, so that we don't complain about all-null fields. Paul Eggert 1999-08-18 09:24:42 +00:00
  • 3c47b1f080 (EXTRA_DIST): Add signedchar.m4. Paul Eggert 1999-08-18 08:37:16 +00:00
  • d9c7673472 version 1.13.9 Paul Eggert 1999-08-18 08:05:06 +00:00
  • f9d278ba35 Comment fix. Paul Eggert 1999-08-18 07:52:26 +00:00
  • f5116dd1db (write_eot): Write at least two zero blocks. Paul Eggert 1999-08-18 07:52:26 +00:00
  • c62fe41ec5 (read_and, list_archive): Simplify code. (read_header): Fix computation of signed checksums on machines where char is unsigned. Do not consider a block to be zero unless all its bytes are zero, even the checksum bytes. Do not attempt to parse the checksum of a zero block. Fix memory leak with long names and links. (from_chars): Accommodate a buggy tar that outputs leading NUL if the previous field overflows. (skip_extended_headers): Don't assume find_next_block yields nonnull. Paul Eggert 1999-08-18 07:52:26 +00:00
  • 72290b64a6 (extract_sparse_file, extract_archive): Don't assume find_next_block yields nonnull. (extract_archive): Fix sparse array bug: we did not find end of array correctly. Paul Eggert 1999-08-18 07:52:26 +00:00
  • 34183f8d77 Fix a few more white-space glitches. Paul Eggert 1999-08-18 07:49:49 +00:00
  • 9939476576 Comment fix. Paul Eggert 1999-08-18 07:49:49 +00:00
  • fcde5487eb Ghostscript 6.0 Paul Eggert 1999-08-17 19:59:28 +00:00
  • c977f9dd60 version 1.13.8 Paul Eggert 1999-08-16 08:13:20 +00:00
  • 0357ce3365 indenting fixes. Paul Eggert 1999-08-16 08:13:20 +00:00
  • 14b1583256 indenting fixes Paul Eggert 1999-08-16 08:13:20 +00:00
  • f536f68bfb Remove punctuation glitches. Paul Eggert 1999-08-16 08:13:20 +00:00
  • da82a07e93 Fix bugs when interpreting POSIX-compliant headers that do not contain null bytes in the header or link names. Paul Eggert 1999-08-16 08:13:20 +00:00
  • 5e0e027651 (make_directories): Do not chown intermediate directories, even if we are root. Paul Eggert 1999-08-16 08:13:20 +00:00
  • 981a4bf1ff -g now implies after_date_option = 1. -g and -N are now incompatible options. Paul Eggert 1999-08-14 07:10:19 +00:00
  • bda50f104b (time): Don't declare if defined. (extr_init): Remove unneeded cast around 0 arg to time. Paul Eggert 1999-08-14 07:10:19 +00:00
  • 203dea13a4 (time): Don't declare if defined. (child_open_for_compress): Undo previous change. (close_archive): Use waitpid, POSIX-style, instead of old BSD style. (new_volume): Likewise. Paul Eggert 1999-08-14 07:10:19 +00:00
  • 619a95af98 (start_header): Include text of ignored filesystem prefix in warning. (create_archive): Check for excluded names when doing incremental pass through directory. (dump_file): Do not dump old files explicitly given on command line when using --listed-incremental. Do not strip ./ from front of file names. Paul Eggert 1999-08-14 07:10:19 +00:00
  • eaef08322e (isotime): Report ??? if localtime returns null. Don't assume years fit into four digits. Don't append trailing newline. (print_header): Report ??? if localtime returns null; Don't assume years fit into four digits. Paul Eggert 1999-08-14 07:10:19 +00:00
  • 7db0b90f9d Version 1.13.7. Paul Eggert 1999-08-14 07:05:51 +00:00
  • ea2373a8a3 Initial revision Paul Eggert 1999-08-14 07:05:51 +00:00
  • 3f7ee6f595 Explain --exclude better. Don't strip leading `./'. Paul Eggert 1999-08-14 07:05:51 +00:00
  • 67f20a741a (read_header): Don't parse OLDGNU_FORMAT incremental headers as POSIX prefixes. Paul Eggert 1999-08-11 14:43:46 +00:00
  • 9d68ac2e94 (update_archive): excluded_pathname -> excluded_name. Paul Eggert 1999-08-11 13:43:15 +00:00
  • 33a2b1fc06 (decode_options): Fix typo in invoking add_exclude_file. Paul Eggert 1999-08-11 13:41:56 +00:00
  • 911e926f45 version 1.13.6 Paul Eggert 1999-08-11 13:37:09 +00:00
  • 9dfffffa84 Add -y and --bzip2. Patterns containing / now exclude only file names whose prefix match. Paul Eggert 1999-08-11 12:47:01 +00:00
  • cd47c9d597 (long_options, usage, OPTION_STRING, decode_options): New -y or --bzip2 option. (add_filtered_exclude): New function. (decode_options): Put excluded patterns with / into excluded_with_slash, and without / into excluded_without_slash. Compare newer_mtime_option to its new initial value TYPE_MINIMUM (time_t) when deciding whether more than one threshold date was specified. Paul Eggert 1999-08-11 12:47:01 +00:00
  • c402183f88 (extract_archive): Open files with O_NONBLOCK instead of O_NDELAY. Paul Eggert 1999-08-11 12:47:01 +00:00
  • 8af82f2c4e (encode_oflag): New function. (rmt_open__): Do not allow newlines in the path. Propagate errno correctly. Decode symbolic open flags, if present. Paul Eggert 1999-08-11 12:47:01 +00:00
  • db46e2e2b3 (decode_oflag): New function. (main): Use it to support symbolic open flags. Paul Eggert 1999-08-11 12:47:01 +00:00
  • 36682e50cc (base_64_digits): New constant. (base_8_digits): New macro. (MAX_VAL_WITH_DIGITS): New macro. (to_base): Renamed from to_oct. Support base 64 too. New parameters specifying bits per digit and digits. Remove `type' parameter. The result is now undefined if it doesn't fit; it's the caller's responsibility to check this. (to_chars): Other half of old to_oct, for 64-bit support. Mostly a new function. (GID_NOBODY, UID_NOBODY): Don't define if the headers don't. (gid_substitute, uid_substitute): Look up names dynamically if GID_NOBODY and UID_NOBODY aren't defined; use -2 if all else fails. (mode_to_chars): Renamed from mode_to_oct. Support negative values in all the _to_chars functions. (start_header): Use FILESYSTEM_PREFIX_LEN instead of MSDOS ifdef. Abort if archive format is DEFAULT_FORMAT when it shouldn't be. (dump_file): Inspect entire pathname, not just new file name component, when deciding whether to exclude it. Paul Eggert 1999-08-11 12:47:01 +00:00
  • 92a680ff64 (_GNU_SOURCE): Define. (<fnmatch.h>): Include unconditionally. (excluded_name): New function, taking over duties of excluded_pathname. All uses changed. Paul Eggert 1999-08-11 12:47:01 +00:00
  • 1027b84330 (_GNU_SOURCE): Define. (<fnmatch.h>): Include unconditionally. (child_open_for_compress): Dup after closing, to avoid possible file descriptor exhaustion. (flush_write): Use FILESYSTEM_PREFIX_LEN instead of MSDOS ifdef. (flush_read): Likewise. Paul Eggert 1999-08-11 12:47:01 +00:00
  • dc4a8aa0c6 (<fnmatch.h>): Do not include. (from_chars): Renamed from from_oct. New parameter specifing the negative of the minimum allowed value. Support negative and base-64 values. (base64_map): New var. (base64_init): New function. (print_header): Output numeric uids and gids if numeric_owner_option. Paul Eggert 1999-08-11 12:47:01 +00:00
  • 133a9e5b86 Initial revision Paul Eggert 1999-08-08 10:12:55 +00:00
  • ed88882cf9 Version 1.13.5 Paul Eggert 1999-07-20 19:55:35 +00:00
  • 2ca2d1cb99 (new_volume): Invoke apply_delayed_set_stat before exiting. Paul Eggert 1999-07-20 19:48:30 +00:00
  • 1f27dca976 (decode_options): ERROR ((TAREXIT_FAILURE, ... -> FATAL_ERROR ((0, for consistency. Paul Eggert 1999-07-20 19:48:30 +00:00
  • 653e9784d3 version 1.13.4 Paul Eggert 1999-07-20 07:09:27 +00:00
  • 9cb6f5c466 this matches historical practice. (unlink_destination): New function, which checks for unlink failures. (maybe_recoverable): Stay quiet if -U. (extract_archive): Use O_EXCL if unlink_first_option. Report unlink failures. Use HAVE_SYMLINK, not S_ISLNK, to determine whether symlink exists. Use HAVE_MKFIFO || defined mkfifo, not S_ISFIFO, to determine whether mkfifo exists. Paul Eggert 1999-07-20 07:09:27 +00:00
  • 52eb0695e8 Remove S_IS* ifdefs. Paul Eggert 1999-07-20 07:09:27 +00:00
  • db2d22cd20 (rmt_open__): Remove typo that caused us to omit the first char of the basename. Paul Eggert 1999-07-20 07:09:27 +00:00
  • fbc8201238 (extract_mangle): Replace #ifdef S_ISLNK with #ifdef HAVE_SYMLINK. Paul Eggert 1999-07-20 07:09:27 +00:00
  • 277f69debf (dump_file): Use HAVE_READLINK, not S_ISLNK, to determine whether to invoke readlink. Paul Eggert 1999-07-20 07:09:27 +00:00
  • 9d681f8130 version 1.13.3 Paul Eggert 1999-07-17 01:49:35 +00:00
  • 6600451136 A path name is excluded if any of its file name components matches an excluded pattern, even if the path name was specified on the command line. Paul Eggert 1999-07-17 01:49:35 +00:00
  • 8ae9f94ce2 (update_archive): Exclude pathnames if any of their components are excluded. Paul Eggert 1999-07-17 01:49:35 +00:00
  • d8f0da985a (total_written): Remove; replaced with prev_written + bytes_written. (prev_written): New var. (init_total_written): New function. (print_total_written): Use TARLONG_FORMAT instead of print_tarlong. Paul Eggert 1999-07-17 01:49:35 +00:00
  • be4c265a8d (read_and): Exclude pathnames if any of their components are excluded. (from_oct): Use C quoting style for error; omit trailing nuls. Paul Eggert 1999-07-17 01:49:35 +00:00
  • 617f136b46 (decode_options): Set newer_time_option to TYPE_MINIMUM, so that negative timestamps are handled correctly. Replace invocations of xstrtol and xstrtoul with xstrtoumax, for uniformity (and so that we don't need to have the other fns). (main): Remove call to init_total_written; no longer needed. Paul Eggert 1999-07-17 01:49:35 +00:00
  • a0c7ce6e37 (create_archive): Exclude pathnames if any of their components are excluded. Paul Eggert 1999-07-17 01:49:35 +00:00
  • 48bec1274c version 1.13.2 Paul Eggert 1999-07-14 15:17:06 +00:00
  • 6c48e00730 tar-bugs@gnu.org -> bug-tar@gnu.org Paul Eggert 1999-07-14 15:13:25 +00:00
  • 9e15f49bd0 (usage): tar-bugs@gnu.org -> bug-tar@gnu.org Paul Eggert 1999-07-14 15:13:25 +00:00
  • 803f861392 Version 1.13.1 Paul Eggert 1999-07-12 13:28:36 +00:00
  • fbc29baad9 (start_header): Do not assume S_IFMT is defined. (dump_file): Remove unnecessary check for screwy apollo lossage. Do not assume S_IFBLK and S_IFCHR are defined. Paul Eggert 1999-07-12 13:03:58 +00:00
  • de1db1ed96 (is_regular_file): Don't succeed on files that we can't access due to permissions problems. (open_archive): Fix wording on fatal error message. Don't bother to stat /dev/null if the archive is not a character special device. Paul Eggert 1999-07-12 13:03:58 +00:00
  • 6a8c91fef3 (extract_archive): Test whether S_IFCHR and S_IFBLK are nonzero, not whether they are defined, for consistency with other tests. Paul Eggert 1999-07-12 13:03:58 +00:00
  • 2016526b1a (decode_header): Do not assume that S_IFBLK and S_IFCHR are defined. Paul Eggert 1999-07-12 13:03:58 +00:00
  • 4dd9bd50bd (append_file): Open the file before statting it, to avoid a race. Complain about file shrinkage only when we reach EOF. Paul Eggert 1999-07-12 13:03:58 +00:00
  • 9c540db933 Bump date to 07-08. Paul Eggert 1999-07-08 04:09:22 +00:00
  • 508b2ae13f Initial revision Paul Eggert 1999-07-08 03:45:21 +00:00
  • d100b4033b Include safe-read.h. Paul Eggert 1999-07-08 03:45:21 +00:00
  • 65fda730cf Include safe-read.h instead of full-write.h. Paul Eggert 1999-07-08 03:45:21 +00:00
  • 8bbacf0b4f Include basename.h, save-read.h. (rmt_open__): Use base_name to compute base name. Paul Eggert 1999-07-08 03:45:21 +00:00
  • 5129abee27 (safe_read): New decl. Paul Eggert 1999-07-08 03:45:21 +00:00
  • 7962e1901b (read_and): Use excluded_filename instead of check_exclude. Check base name of incoming file name, not entire file name, when deciding whether to exclude it. Paul Eggert 1999-07-08 03:45:21 +00:00
  • 0a42307c1d (finish_sparse_file): Use excluded_filename instead of check_exclude. Don't bother to stat excluded file names. Paul Eggert 1999-07-08 03:45:21 +00:00
  • 8e8acfbc97 (exclude_pool, exclude_pool_size, allocated_exclude_pool_size, simple_exclude_array, simple_excludes, allocated_simple_excludes, pattern_exclude_array, pattern_excludes, allocated_pattern_excludes, add_exclude, add_exclude_file, check_exclude): Remove; now done in ../lib/exclude.c. Paul Eggert 1999-07-08 03:45:21 +00:00
  • 07f380748c (decode_options): Initialize `excluded'. Use new add_exclude_file and add_exclude functions. Paul Eggert 1999-07-08 03:45:21 +00:00
  • bb91f1ef17 Initial revision Paul Eggert 1999-07-07 05:59:52 +00:00
  • 45e6cee836 Update date. Paul Eggert 1999-07-05 06:54:49 +00:00
  • d46735235b Rename full_read to safe_read. Paul Eggert 1999-07-05 06:47:59 +00:00
  • bb9f6be7c1 Include full-write.h. Paul Eggert 1999-07-05 06:47:59 +00:00
  • 7e12b98765 Update release date. Paul Eggert 1999-07-04 07:21:30 +00:00
  • a9d934b734 version 1.13 news Paul Eggert 1999-07-03 05:00:55 +00:00
  • e48983900d (EXTRA_DIST): Add mktime.m4. (Makefile.am): Remove. Paul Eggert 1999-07-03 01:46:00 +00:00
  • a96991da3e Initial revision Paul Eggert 1999-07-03 01:44:37 +00:00
  • a8c32ecff2 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 1999-07-03 00:00:19 +00:00
  • 6f1783ad43 (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 1999-07-02 21:33:51 +00:00
  • bc88be110b 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 1999-07-02 21:25:09 +00:00
  • db6dc02fa8 (rmt_lseek__): Convert lseek whence values to portable integers on the wire. Paul Eggert 1999-07-02 21:25:09 +00:00
  • d091cd947a (main): Convert lseek whence values to portable integers on the wire. Check for whence values out of range. Paul Eggert 1999-07-02 21:25:09 +00:00
  • 0f32adce25 (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 1999-07-02 21:25:09 +00:00
  • 6eafcf3c9d Add braces to pacify gcc -Wall. Paul Eggert 1999-07-02 21:05:50 +00:00
  • 66e89f0fa5 (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 1999-07-02 21:05:50 +00:00