Hi,
I am using your Archive::Tar perl module. For me it seems, that your following assumption
### Apparently this should really be two blocks of 512 zeros,
### but GNU tar sometimes gets it wrong. See comment in the
### source code (tar.c) to GNU cpio.
next if $chunk eq TAR_END;
is no longer correct. I only found the following comment in tar.c:
/* To be pedantically correct, we would check if the tarball
* is smaller than 20 tar blocks, and pad it if it was smaller,
* but that isn't necessary for GNU tar interoperability, and
* so is considered a waste of space */
I seem to getting tar-files with two blocks of nulls at the end, followed by parts of the last
file, which gnu tar and HP tar seem to ignore happily, but cause problems for Archive::Tar
because it wants to read to the end of the file.
Can you add a flag to new, where one can specify whether to stop reading after two blocks of
nulls or to continue reading until the end of the file.
Thanks in advance
Dieter Wörz