Merge recent gnulib changes, and remove some lint.

This commit is contained in:
Paul Eggert
2004-04-05 02:29:18 +00:00
parent 41d042c05f
commit 2bda83b48d
26 changed files with 880 additions and 703 deletions

218
ChangeLog
View File

@@ -1,3 +1,157 @@
2004-04-04 Paul Eggert <eggert@twinsun.com>
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 <gray@Noldor.runasimi.org>
* 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 <gray@Mirddin.farlep.net>
* 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 <gray@Mirddin.farlep.net>
* 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 <gray@Mirddin.farlep.net>
@@ -198,8 +352,8 @@
<andreas@schuldei.org>.
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 <gray@Mirddin.farlep.net>
* 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 <gray@Mirddin.farlep.net>
* 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 <gray@Mirddin.farlep.net>
* 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 <gray@Mirddin.farlep.net>
* 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 <eggert@twinsun.com>
Fix Debian bug 230872, originally reported by Jeff King in
@@ -863,15 +1017,15 @@
2003-09-03 Sergey Poznyakoff <gray@Mirddin.farlep.net>
* 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 <eggert@twinsun.com>