Files
tar/src
Paul Eggert 040b5ab5f9 A sweep of the sparse code prompted by a bug report by Jim Meyering.
* src/sparse.c: Include <inttostr.h>.
(struct tar_sparse_file): offset and dumped_size are off_t, not
size_t.  optab is now const *.
(dump_zeros): Return bool success flag, not off_t.
All callers changed.
Use a constant-zero buffer rather than clearing a buffer each time.
Don't mess up if write fails.
(dump_zeros, check_sparse_region):
Don't assume off_t is no wider than size_t.
(tar_sparse_init): Don't bother clearing a field that is already clear.
(zero_block_p): First arg is const *, not *.
(clear_block, SPARSES_INIT_COUNT): Remove.
(sparse_add_map): First arg is now struct start_stat_info *, not
struct tar_sparse_file *.  All callers changed.
Use x2nrealloc to check for size_t overflow.
(parse_scan_file): Cache commonly-used parts of file.
Use an auto buffer, not a static one.
Don't bother clearing the buffer; not needed.
Don't bother clearing items that are already clear.
(oldgnu_optab, star_optab, pax_optab): Now const.
(sparse_dump_region): Don't bother clearing the buffer before
reading into it; just clear the parts that aren't read into.
(sparse_dump_file): Clear the whole local variable 'file'.
(diff_buffer): Remove; now a local var.
(check_sparse_region): Don't bother clearing buffer before
reading into it.  Don't assume off_t is promoted to long.
(oldgnu_get_sparse_info, star_get_sparse_info):
Use an auto status, not static.
* src/tar.h (struct tar_stat_info): had_trailing_slash is
now bool, not int.
* src/xheader.c (sparse_offset_coder, sparse_numbytes_coder):
Rewrite to avoid cast.
(sparse_offset_decoder, sparse_numbytes_decoder):
Diagnose excess entries rather than crashing.
2005-06-23 06:55:01 +00:00
..
2004-04-04 09:50:42 +00:00
1998-09-09 23:52:32 +00:00
1999-08-17 19:59:28 +00:00
1997-04-24 02:25:57 +00:00
2005-05-15 03:59:08 +00:00
1994-11-16 02:57:33 +00:00
2005-05-15 03:59:08 +00:00
1994-11-16 02:42:21 +00:00
1994-11-16 02:55:29 +00:00
1994-11-16 02:49:36 +00:00
2005-05-15 03:59:08 +00:00
1994-11-16 02:40:27 +00:00
1994-11-16 02:56:44 +00:00
2005-05-15 03:59:08 +00:00
1994-11-16 02:56:44 +00:00
1994-11-16 02:56:44 +00:00
1997-04-15 20:33:59 +00:00
1994-11-16 02:57:06 +00:00
1994-11-16 02:43:59 +00:00
1994-11-16 02:49:56 +00:00
1994-11-16 02:47:40 +00:00
1994-11-16 02:57:28 +00:00
1994-11-16 02:50:03 +00:00
2005-05-15 03:59:08 +00:00
2005-05-15 03:59:08 +00:00
1994-11-16 02:44:11 +00:00