X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=ChangeLog;h=c85ad8c398e5439250131fd0ac540e284891cbba;hb=2bda83b48d8a6807632312403561b11b79048443;hp=8cbe23b6b7b2baf33a6ccf3e466abd6cae2dbec6;hpb=41d042c05ff68c236c5e3842f69b61fb5c027c76;p=chaz%2Ftar diff --git a/ChangeLog b/ChangeLog index 8cbe23b..c85ad8c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,157 @@ +2004-04-04 Paul Eggert + + Merge recent gnulib changes, and remove some lint. + + Improve support for nanosecond-resolution time stamps. + * bootstrap: Add gettime, timespec modules. + * configure.ac (gl_GETTIME, gl_TIMESPEC): Add. + * lib/.cvsignore (getopt_int.h, gettime.c, gettimeofday.c, + timespec.h): Add. + * lib/Makefile.am (libtar_a_SOURCES): Add gettime.c, timespec.h. + * m4/.cvsignore: Add clock_time.m4, gettime.m4, gettimeofday.m4, + st_mtim.m4, timespec.m4. Remove malloc.m4, realloc.m4. + * src/common.h (newer_mtime_option): Now a struct timespec, not + time_t. All uses changed. + (NEWER_OPTION_INITIALIZED, OLDER_STAT_MTIME): New macros. + * src/create.c (dump_file0): Use OLDER_STAT_TIME to compare times. + * src/incremen.c (scan_path): Likewise. + * src/list.c (read_and): Likewise. + * src/list.c (read_and): Use NEWER_OPTION_INITIALIZED to decide + whether newer_mtime_option is initialized. + * src/tar.c (decode_options): Likewise. + * src/tar.c (decode_options): Adjust to new signature for get_date. + + * src/buffer.c (short_read, flush_read): Use size_t, not ssize_t, for + result of safe_read, full_write, and similar functions. + Detect safe_read error by comparing to SAFE_READ_ERROR; + detect full_write error by comparing to 0. + All uses changed. + * src/common.h (write_error_details, sys_write_archive_buffer): + Likewise. + * src/misc.c (write_error_details): Likewise. + * src/rmt.c (main): Likewise. + * src/rmt.h (rmt_read__, rmt_write__): Likewise. + * src/rtapelib.c (rmt_read__, rmt_write__, rmt_ioctl__): Likewise. + * src/sparse.c (sparse_scan_file, sparse_dump_region, + check_sparse_region, check_data_region): Likewise. + * src/system.c (sys_write_archive_buffer, sys_drain_input_pipe, + sys_child_open_for_compress, sys_child_open_for_uncompress): Likewise. + * src/update.c (append_file): Likewise. + + * src/buffer.c (clear_read_error_count): Use explicit (void) + to indicate a function with no arguments. + * src/create.c (check_links): Likewise. + * src/system.c (sys_get_archive_stat, sys_save_archive_dev_ino, + sys_detect_dev_null_output, sys_drain_input_pipe, sys_spawn_shell, + sys_reset_uid_gid, sys_get_archive_stat, sys_save_archive_dev_ino, + sys_detect_dev_null_output, sys_drain_input_pipe, sys_spawn_shell): + Likewise. + * src/utf8.c (get_input_charset): Likewise. + * src/xheader.c (xheader_ghdr_name, xheader_write_global, + xheader_decode_global, extended_header_init): Likewise. + * tests/mksparse.c (usage): Likewise. + + * src/buffer.c (new_volume): Rename local variables to avoid + shadowing warnings. + * src/common.h (file_dumpable_p, sys_stat_nanoseconds, + sparse_file_p, sparse_member_p, sparse_fixup_header, + sparse_dump_file, sparce_extract_file, sparse_skip_file, + sparse_diff_file): Likewise. + * src/compare.c (diff_archive): Likewise. + * src/create.c (file_dumpable_p, dump_regular_file, dump_dir0, + dump_dir, dump_hard_link, file_count_links, dump_file0, dump_file): + Likewise. + * src/extract.c (repair_delayed_set_stat): Likewise. + * src/misc.c (maybe_backup_file, add_hierarchy_to_namelist): + Likewise. + * src/sparse.c (struct tar_sparse_optab, tar_sparse_dump_region, + tar_sparse_extract_region, sparse_dump_region, sparse_extract_region, + sparse_dump_file, sparse_file_p, sparse_member_p, + sparse_fixup_header, sparse_extract_file, sparse_skip_file, + check_data_region, sparse_diff_file): Likewise. + * src/system.c (sys_stat_nanoseconds): Likewise. + * src/xheader.c (xheader_format_name): Likewise. + + * src/common.h (enum old_files): Remove comma before }; not portable. + + * src/common.h (read_fatal_details): Add __attribute__ ((noreturn)). + * src/rmt.c (usage): Likewise. + * src/xheader.c (xheader_set_single_keyword): Likewise. + * tests/genfile.c (usage): Likewise. + * tests/mksparse.c (die, usage): Likewise. Also add printf attribute + to die. + + * src/common.h (gname_to_gid, uname_to_uid): Add const to avoid + some gcc warnings. + * src/names.c (uname_to_uid, gname_to_gid): Likewise. + * src/utf8.c (struct langtab.lang, struct langtab.terr, struct + langtab.charset, charset_lookup): Likewise. + + * src/common.h (name_init): Remove unused args. All callers changed. + * src/names.c (name_init): Likewise. + + * src/common.h (usage, xheader_write, xheader_write_global, + sys_reset_uid_gid): New decls. + + * src/compare.c (report_difference, process_noop): Add + __attribute__ ((unused)) for unused attributes. + * src/sparse.c (oldgnu_sparse_member_p, star_sparse_member_p): + Likewise. + * src/xheader.c (dummy_coder, dummy_decoder, atime_coder, + gid_coder, gname_coder, linkpath_coder, ctime_coder, mtime_coder, + path_coder, size_coder, uid_coder, uname_coder, + sparse_numblocks_coder): Likewise. + + * src/create.c (dump_regular_finish, dump_dir0, dump_dir, + dump_file0): Now static. + * src/utf8.c (charset_lookup): Likewise. + * src/xheader.c (xheader_protected_pattern_p, + xheader_protected_keyword_p, xheader_set_single_keyword, + xheader_keyword_deleted_p, xheader_keyword_override_p, + xheader_list_append, xheader_list_destroy, xheader_set_keyword_equal): + Likewise. + * tests/genfile.c (usage): Likewise. + * tests/mksparse.c (die, mkhole, mksparse, usage, xlat_suffix): + Likewise. + + * src/create.c (hash_link): Rewrite to avoid cast. + + * src/extract.c (file_newer_p): Use parameter, not global var. + * src/misc.c (write_error_details): Likewise. + + * src/extract.c (prepare_to_extract): Remove directory arg; not + used. All callers changed. + + * src/misc.c (close_fatal): Remove; not used. + * src/system.c (sys_utimes): Likewise. + + * src/rmt.c (get_string): Avoid buffer overrun (off by 1 error). + + * src/rmt.c (main): Update copyright date to 2004. + * src/tar.c (decode_options): Likewise. + + * src/rtapelib.c (get_status_string): Don't lose errno when + skipping the error messages. + (get_status): Report an error if atol returns a negative number. + + * src/utf8.c (struct langtab, langtab, charset_lookup, + get_input_charset) [!defined HAVE_LIBCONV]: Omit unused + definitions. + (iconv_open, iconv, iconv_close) [!defined HAVE_LIBCONV]: + Use macros, not definitions, to avoid type clashes with system + headers. + (charset_lookup): Local var is now auto, not static. + (utf8_convert): Use ICONV_CONST instead of const, to avoid + type clashes. + + * src/utf8.c (langtab): Initialize all elements of struct, to + avoid gcc warning. + * src/xheader.c (xhdr_tab): Likewise. + + * src/xheader.c: Include fnmatch.h, since we use fnmatch. + + * tests/mksparse.c (mkhole): Fix typo: bool was assigned to off_t. + 2004-04-04 Sergey Poznyakoff * NEWS: Updated @@ -11,7 +165,7 @@ * tests/multiv02.sh: New file * tests/Makefile.am: Add sparse01.sh and multiv02.sh * tests/longv7.sh: Added missing call to 'after' - + * src/common.h: Added missing prototypes * src/compare.c (diff_archive): Use is_sparse member instead of GNUTYPE_SPARSE. @@ -49,7 +203,7 @@ (sparse_numbytes_decoder): Removed unused variable * src/.cvsignore: Added .gdbinit * THANKS: Added Mads Martin Joergensen - + 2004-03-26 Sergey Poznyakoff * src/create.c (write_long_name): Do not allow more than @@ -100,13 +254,13 @@ which is grossly wrong, since even if new_volume() below succeeds, the subsequent call to rmtread will overwrite the chunk of data - already read in the buffer and thus spoil everything. + already read in the buffer and thus spoil everything. * src/system.c (sys_child_open_for_uncompress): Minor stylistic fix. * tests/star/multi-fail.sh: New test. * tests/Makefile.am: Added multi-fail.sh * tests/star/README: Updated - + 2004-02-29 Sergey Poznyakoff * NEWS: Updated @@ -116,7 +270,7 @@ * src/extract.c: Handle --keep-newer-files option * src/list.c (tartime): Print UTC if --utc was given. * src/tar.c: New options: --utc and keep-newer-files - + * tests/Makefile.am: Added new tests * tests/after: Rewritten * tests/before: Rewritten @@ -130,7 +284,7 @@ * tests/options.sh: Likewise * tests/version.sh: Likewise * tests/volume.sh: Likewise - + * tests/star: New directory * tests/star/README: New file * tests/star/gtarfail.sh: New file @@ -171,7 +325,7 @@ Added UTF-8 support. Finished global extended header support. - + * NEWS: Minor fix * configure.ac: Detect libiconv * src/utf8.c: New file. Conversions to and from utf-8. @@ -188,7 +342,7 @@ missing gettext markers (decode_record): Rewritten using caller-provided handler and data closure. - * tests/listed01.sh: Give credit to Andreas Schuldei. + * tests/listed01.sh: Give credit to Andreas Schuldei. 2004-02-21 Sergey Poznyakoff @@ -198,8 +352,8 @@ . This is due to the condition - - (0 < top_level || !incremental_option) + + (0 < top_level || !incremental_option) Removing it makes incremental backups work for individual files as well as for directories. On the other hand, it does @@ -217,7 +371,7 @@ (!incremental_option) - Now, let's consider the effect of its removal. There are two cases: + Now, let's consider the effect of its removal. There are two cases: 1) when incremental_option==1 This means incremental backup in progress. In this case dump_file @@ -234,8 +388,8 @@ irrelevant, and its removal won't alter the behavior of tar, *except* that it will enable incremental backups on individual files, which is the wanted effect. - - 2) when incremental_option==0 + + 2) when incremental_option==0 In this case the condition yields true and its removal does not affect the functionality. @@ -245,7 +399,7 @@ * tests/listed01.sh: New test. Check listed incremental backups on individual files. * tests/Makefile.am: Added listed01.sh - + 2004-02-20 Sergey Poznyakoff * src/common.h (simple_finish_header,start_private_header): New @@ -269,7 +423,7 @@ * src/update.c (update_archive): Write global extended header if constructed. - * src/xheader.c (xheader_format_name): Bugfix. + * src/xheader.c (xheader_format_name): Bugfix. (xheader_xhdr_name): Changed the default extended header name to '%d/PaxHeaders.%p/%f', as POSIX requires. (xheader_ghdr_name): Removed unused argument. @@ -281,25 +435,25 @@ unconditionally. * src/list.c (decode_header): Likewise. * src/incremen.c (sort_obstack): Fixed typo in the comment - + * doc/tar.texi: Document new default for extended header names. - + * tests/before: Accept an optional list of allowed archive formats. Exit with the status 77 if the current archive format does not match any of them. * tests/delete03.sh: Require gnu, oldgnu or posix format * tests/incremen.sh: Require gnu or oldgnu format * tests/multiv01.sh: Likewise - + 2004-02-20 Sergey Poznyakoff - + * doc/tar.texi (Option Summary): Documented --pax-option * src/tar.c: Likewise. * NEWS: Likewise. * src/create.c (to_chars): Added a comment. * src/tar.h: Comment to GNU_FORMAT - + 2004-02-18 Sergey Poznyakoff * README: Updated @@ -313,17 +467,17 @@ * src/tar.c: New option --pax-option (equivalent to -o option of pax). * src/xheader.c: Implement pax -o option. Fixed misleading - heading comment (introduced 2003-09-02). + heading comment (introduced 2003-09-02). * src/incremen.c: Minor fixes * m4/.cvsignore: Updated - + 2004-02-17 Sergey Poznyakoff * src/incremen.c: Removed accumulator stuff in favor of obstack. (get_directory_contents): Split into two functions * src/update.c: Minor changes * doc/tar.texi: Fixed typo - + 2004-02-15 Paul Eggert Fix Debian bug 230872, originally reported by Jeff King in @@ -863,15 +1017,15 @@ 2003-09-03 Sergey Poznyakoff - * src/create.c (start_header): Store long file names - in "path" keyword of an extended header if in POSIX - mode. - (finish_header): print header before calling write_extended(). - * src/list.c (list_archive): Always decode the header. This - is necessary so the extended header is processed and the correct - filename is printed no matter what the state of verbose_option. - * src/xheader.c (xhdr_tab): Reserved GNU keywords (commented out - for the time being). + * src/create.c (start_header): Store long file names + in "path" keyword of an extended header if in POSIX + mode. + (finish_header): print header before calling write_extended(). + * src/list.c (list_archive): Always decode the header. This + is necessary so the extended header is processed and the correct + filename is printed no matter what the state of verbose_option. + * src/xheader.c (xhdr_tab): Reserved GNU keywords (commented out + for the time being). 2003-09-01 Paul Eggert