c0d324c43cAdd 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
38d825f34b1.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
2ac3be1648version 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
d9c7673472version 1.13.9
Paul Eggert
1999-08-18 08:05:06 +00:00
f9d278ba35Comment 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
34183f8d77Fix a few more white-space glitches.
Paul Eggert
1999-08-18 07:49:49 +00:00
9939476576Comment fix.
Paul Eggert
1999-08-18 07:49:49 +00:00
fcde5487ebGhostscript 6.0
Paul Eggert
1999-08-17 19:59:28 +00:00
c977f9dd60version 1.13.8
Paul Eggert
1999-08-16 08:13:20 +00:00
0357ce3365indenting fixes.
Paul Eggert
1999-08-16 08:13:20 +00:00
14b1583256indenting fixes
Paul Eggert
1999-08-16 08:13:20 +00:00
f536f68bfbRemove punctuation glitches.
Paul Eggert
1999-08-16 08:13:20 +00:00
da82a07e93Fix 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
7db0b90f9dVersion 1.13.7.
Paul Eggert
1999-08-14 07:05:51 +00:00
ea2373a8a3Initial revision
Paul Eggert
1999-08-14 07:05:51 +00:00
3f7ee6f595Explain --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
911e926f45version 1.13.6
Paul Eggert
1999-08-11 13:37:09 +00:00
9dfffffa84Add -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
133a9e5b86Initial revision
Paul Eggert
1999-08-08 10:12:55 +00:00
ed88882cf9Version 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
653e9784d3version 1.13.4
Paul Eggert
1999-07-20 07:09:27 +00:00
9cb6f5c466this 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
52eb0695e8Remove 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
9d681f8130version 1.13.3
Paul Eggert
1999-07-17 01:49:35 +00:00
6600451136A 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
48bec1274cversion 1.13.2
Paul Eggert
1999-07-14 15:17:06 +00:00
803f861392Version 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
9c540db933Bump date to 07-08.
Paul Eggert
1999-07-08 04:09:22 +00:00
508b2ae13fInitial revision
Paul Eggert
1999-07-08 03:45:21 +00:00
d100b4033bInclude safe-read.h.
Paul Eggert
1999-07-08 03:45:21 +00:00
65fda730cfInclude safe-read.h instead of full-write.h.
Paul Eggert
1999-07-08 03:45:21 +00:00
8bbacf0b4fInclude 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
bb91f1ef17Initial revision
Paul Eggert
1999-07-07 05:59:52 +00:00
45e6cee836Update date.
Paul Eggert
1999-07-05 06:54:49 +00:00
d46735235bRename full_read to safe_read.
Paul Eggert
1999-07-05 06:47:59 +00:00
bb9f6be7c1Include full-write.h.
Paul Eggert
1999-07-05 06:47:59 +00:00
7e12b98765Update release date.
Paul Eggert
1999-07-04 07:21:30 +00:00
a9d934b734version 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
a96991da3eInitial revision
Paul Eggert
1999-07-03 01:44:37 +00:00
a8c32ecff2Include 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
bc88be110bDon'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
6eafcf3c9dAdd 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