(decode_options): Ignore --seek if used with --delete.

Delete.c is based on the assumption that the archive is being
actually read, not lseeked.
This commit is contained in:
Sergey Poznyakoff
2004-12-18 20:07:04 +00:00
parent 94f7d4e7c1
commit 90b1e24487

View File

@@ -1464,6 +1464,18 @@ decode_options (int argc, char **argv)
_("--occurrence cannot be used in the requested operation mode")));
}
if (seekable_archive && subcommand_option == DELETE_SUBCOMMAND)
{
/* The current code in delete.c is based on the assumption that
skip_member() reads all data from the archive. So, we should
make sure it won't use seeks. On the other hand, the same code
depends on the ability to backspace a record in the archive,
so setting seekable_archive to false is technically incorrect.
However, it is tested only in skip_member(), so it's not a
problem. */
seekable_archive = false;
}
if (archive_names == 0)
{
/* If no archive file name given, try TAPE from the environment, or