Commit Graph

1772 Commits

Author SHA1 Message Date
Sergey Poznyakoff
d543d2dbbd Remove prematurely introduced parts of new MV format support 2005-11-27 11:59:34 +00:00
Sergey Poznyakoff
5df61b429a Update 2005-11-26 19:32:55 +00:00
Sergey Poznyakoff
9590e781c0 (xheader_format_name): Fix memory leak. 2005-11-26 19:31:02 +00:00
Sergey Poznyakoff
87dfaf3176 Update 2005-11-11 12:18:14 +00:00
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