Commit Graph
1768 Commits
Author SHA1 Message Date
Sergey Poznyakoff c81a5e8bf5 Close stdin so that if something fails causing tar to ask for the next volume, it won't hang the testsuite. 2005-11-11 12:17:38 +00:00
Sergey Poznyakoff b5775215d7 (confirm): Rewritten using rpmatch.
(decode_options): Minor optimizations
(main): Call stdopen() to ensure the first three descriptors are
open.
2005-11-11 12:17:10 +00:00
Sergey Poznyakoff df970c7332 Add rpmatch.c 2005-11-11 12:16:41 +00:00
Sergey Poznyakoff f1f3b524f6 Add stdopen, imported from coreutils. 2005-11-11 12:16:28 +00:00
Sergey Poznyakoff 575ea074cc Add rpmatch 2005-11-11 12:15:46 +00:00
Sergey Poznyakoff 6204e3c718 Updated 2005-11-11 00:28:27 +00:00
Sergey Poznyakoff ecce6f3e9a (Tarcat): New node 2005-11-11 00:27:58 +00:00
Sergey Poznyakoff 85890103ae Handle archives in pax format. Improve handling of traditional archives. 2005-11-11 00:27:21 +00:00
Sergey Poznyakoff 7e51be5fe2 Update 2005-11-11 00:26:39 +00:00
Sergey Poznyakoff 05ba292a93 (AT_TAR_CHECK): Define TEST_TAR_FORMAT 2005-11-11 00:26:18 +00:00
Sergey Poznyakoff 1ebdd88caf (xheader_format_name): Remove static
qualifier. Change last argument.
Correct buffer size calculation (allocated too much space).
(xheader_write): Increase global_header_count here ...
(xheader_write_global): ... instead of here
2005-11-11 00:26:09 +00:00
Sergey Poznyakoff b6d3432810 (write_extended): Change type and meaning of the first argument. All callers updated 2005-11-11 00:25:41 +00:00
Sergey Poznyakoff 1e8f6d41c4 (flush_read,flush_write): Functions, again.
(write_extended): Changed declaration
(xheader_format_name): New declaration
2005-11-11 00:25:20 +00:00
Sergey Poznyakoff 5b1df7b55e (flush_write,flush_read): Change data type.
(flush_archive): Compute actual buffer fill level before calling
low level function.
(close_archive): Call flush_archive again if the first call
resulted in partially filled buffer.
(try_new_volume): Rewritten handling of initial headers.
(add_chunk_header): New function. Write an additional header
before the continuation chunk. The purpose of the header is to
allow third-party tars to extract the member.
(simple_flush_write): Take an argument.
(_gnu_flush_write): Correctly handle partially filled buffers.
2005-11-11 00:24:52 +00:00
Sergey Poznyakoff 692f449623 Updated 2005-11-10 13:01:34 +00:00
Sergey Poznyakoff 5f060c2025 Add new test cases 2005-11-10 13:00:11 +00:00
Sergey Poznyakoff d1867fd76c (xhdr_tab): New keyword GNU.volume.filename. 2005-11-10 12:59:38 +00:00
Sergey Poznyakoff 813aa07a89 Do not pad compressed output if it goes to stdout. 2005-11-10 12:59:25 +00:00
Sergey Poznyakoff 9a42d94543 (sparse_dump_region): Call mv_size_left.
(sparse_dump_file): Enclose the loop in mv_begin/mv_end.
2005-11-10 12:59:13 +00:00
Sergey Poznyakoff b9b37ee191 (try_new_volume): Bugfix. Always check
continued_file_name. If it is absent, the volume is out
of sync.
(add_multi_volume_header): Create GNU.volume.filename keyword in
the extended header.
2005-11-10 12:58:43 +00:00
Sergey Poznyakoff 04549e1f21 Update 2005-11-09 13:13:00 +00:00
Sergey Poznyakoff f3a24a7a51 (AT_KEYWORDS): Improve to allow executionof related tests in groups. 2005-11-09 13:09:44 +00:00
Sergey Poznyakoff e1286c1989 (xhdr_tab): Support for new GNU keywords. 2005-11-09 13:09:25 +00:00
Sergey Poznyakoff 5eecc4c994 (decode_options): Allow to use --multi-volume and --label with pax archives. 2005-11-09 13:09:12 +00:00
Sergey Poznyakoff cb3d8b0db9 Use mv_.* functions where necessary. 2005-11-09 13:08:55 +00:00
Sergey Poznyakoff 52429bb956 Use mv_.* functions uniformly instead of fiddling with the global variables. 2005-11-09 13:08:42 +00:00
Sergey Poznyakoff 7200f4f5f7 (save_name,save_sizeleft,save_totsize): Remove
globals.
(volume_label,continued_file_name,continued_file_size): New
variables.
(flush_read,flush_write): Pointers to functions
(mv_begin,mv_end,mv_total_size,mv_size_left): New functions
(write_extended): New function.
2005-11-09 13:08:13 +00:00
Sergey Poznyakoff 737b0251de Rewritten in a more modular fashion to provide
GNU extensions (multi-volume archives and archive labels) in
pax format.
(volume_label,continued_file_name,continued_file_size)
(continued_file_offset): New globals.
(save_name,save_totsize,save_sizeleft): Make static
(mv_begin,mv_end,mv_total_size,mv_size_left): New functions
(open_archive,flush_write,flush_read): Rewritten
2005-11-09 13:07:45 +00:00
Sergey Poznyakoff 48d508b78b Update 2005-11-09 13:07:26 +00:00
Paul Eggert 57c2124d68 * src/tar.c (NS_PRECISION_FORMAT_MASK): New macro.
(tar_timespec_cmp): New function. Wrapper over
timespec_cmp using the timespec precision provided by the
current archive format.
* src/common.h (tar_timespec_cmp): New declaration.
* src/compare.c (diff_file): Use tar_timespec_cmp.
* src/extract.c (file_newer_p): Likewise.
* src/update.c (update_archive): Likewise.
* tests/truncate.at: Reverted changes
* tests/update.at: Reverted changes
2005-11-08 07:20:02 +00:00
Paul Eggert 06379466c1 (xheader_store): Last arg is void const *. 2005-11-07 05:11:55 +00:00
Paul Eggert 3eec6b3f46 (xheader_store): Last arg here is void const *, too. 2005-11-07 05:11:40 +00:00
Paul Eggert 60f8dd83b8 (struct xhdr_tab.coder): Last arg is void const *,
not void *, to avoid create.c warning from GCC "passing argument 3
of 'xheader_store' discards qualifiers from pointer target type".
(dummy_coder, atime_coder, gid_coder, gname_coder, linkpath_coder):
(ctime_coder, mtime_coder, path_coder, size_coder, uid_coder):
(uname_coder, sparse_size_coder, sparse_numblocks_coder):
(sparse_offset_coder, sparse_numbytes_coder, dumpdir_coder):
Likewise.
2005-11-07 05:03:09 +00:00
Paul Eggert cfbf693855 * tests/truncate.at: Create files whose time stamps must fall on
1-second boundaries.  This prevents tests from failing on hosts
like Solaris 8 that have nanosecond-resolution file time stamps.
* tests/update.at: Likewise.
2005-11-07 04:03:29 +00:00
Sergey Poznyakoff 35f5b48815 Update 2005-11-07 02:55:25 +00:00
Sergey Poznyakoff 374ae10d39 (xheader_keyword_deleted_p): Remove static
qualifier.
(struct xhdr_tab.decoder): Change prototype. POSIX allows string
values to contain embedded nulls, so take an extra argument
specifying the length of the string.
(decx,decg,dummy_decoder,atime_decoder,gid_decoder)
(gname_decoder,linkpath_decoder,ctime_decoder,mtime_decoder)
(path_decoder,size_decoder,uid_decoder,uname_decoder)
(sparse_size_decoder,sparse_numblocks_decoder)
(sparse_offset_decoder,sparse_numbytes_decoder): Likewise.
(decode_record): Pass value length to the handler
(run_override_list): Pass value length to the decoder
(xheader_print_n): New function
(xheader_print): Rewritten using xheader_print_n
(xheader_finish): Do not rely om strlen to compute the length of
the collected string: it can contain embedded nulls
(xheader_string_begin,xheader_string_add,xheader_string_end): New
functions.
(sparse_map_decoder,dumpdir_coder,dumpdir_decoder): New
functions. Handle GNU.sparse.map and GNU.dumpdir variables.
(xhdr_tab): Add new variables.
2005-11-07 02:52:58 +00:00
Sergey Poznyakoff 4d22cbd47c Test gnu, oldgnu, and posix formats 2005-11-07 02:51:22 +00:00
Sergey Poznyakoff e20e79e7ff (struct tar_stat_info.dumpdir): New member. 2005-11-07 02:50:25 +00:00
Sergey Poznyakoff f865597c89 Incremental options are allowed with --format=pax
(tar_stat_destroy): Free dumpdir
2005-11-07 02:50:14 +00:00
Sergey Poznyakoff 1b9c48d934 (sparse_diff_file): Bugfix: set seekable.
(pax_dump_header): Store sparse map in GNU.sparse.map. If this
variable has been explicitely deleted, use GNU.sparse.offset/
GNU.sparse.numbytes variables.
2005-11-07 02:49:45 +00:00
Sergey Poznyakoff f6458a827a (list_archive): Handle incremental backups in pax
format.
(decode_header): Initialize stat_info.dumpdir
2005-11-07 02:49:23 +00:00
Sergey Poznyakoff 08a8d2dec6 (dumpdir_size, get_gnu_dumpdir): New functions.
(purge_directory): Use stat_info.dumpdir instead of getting its
value explicitely.
2005-11-07 02:48:51 +00:00
Sergey Poznyakoff aea1d50da9 (dump_dir0): Handle incremental backups in pax archives 2005-11-07 02:48:23 +00:00
Sergey Poznyakoff 588232f859 (dumpdir_size,get_gnu_dumpdir)
(xheader_string_begin,xheader_string_add)
(xheader_string_end): New functions.
2005-11-07 02:48:08 +00:00
Paul Eggert 4c4c5a4dc1 Minor language and white space fixes. 2005-11-07 00:25:52 +00:00
Paul Eggert d144e7c217 * tests/truncate.at: Use -H pax to preserve full time stamp resolution.
This prevents tests from failing on hosts like Solaris 8 that have
nanosecond-resolution file time stamps.
* tests/update.at: Likewise.
2005-11-06 23:29:30 +00:00
Paul Eggert ef9ad717ba * src/xheader.c (strtoimax, strtoumax): Remove decls; now done
in system.h.
2005-11-06 22:48:34 +00:00
Sergey Poznyakoff 85ce2c24f8 Update 2005-11-06 11:52:02 +00:00
Sergey Poznyakoff d01f65092c Properly document incremental dumps 2005-11-06 11:51:12 +00:00
Sergey Poznyakoff 04e2551256 Update 2005-11-05 16:49:47 +00:00