diff -ruNp tar-1.22.orig/src/list.c tar-1.22/src/list.c --- tar-1.22.orig/src/list.c 2008-10-30 12:10:04.000000000 +0100 +++ tar-1.22/src/list.c 2009-03-06 00:03:05.925105425 +0100 @@ -136,6 +136,14 @@ read_and (void (*do_something) (void)) if (!ignore_zeros_option) { + /* + * According to POSIX tar specs, this is wrong, but on the web + * there are some tar specs that can trigger this, and some tar + * implementations create tars according to that spec. For now, + * let's not be pedantic about issuing the warning. + */ +#if 0 + char buf[UINTMAX_STRSIZE_BOUND]; status = read_header (false); @@ -143,6 +151,8 @@ read_and (void (*do_something) (void)) break; WARN ((0, 0, _("A lone zero block at %s"), STRINGIFY_BIGINT (current_block_ordinal (), buf))); +#endif + status = read_header (false); break; } status = prev_status;