From beca89bccb6b806e3528d4d0aa01cb5f2831c954 Mon Sep 17 00:00:00 2001 From: Sergey Poznyakoff Date: Tue, 12 Mar 2013 23:11:32 +0200 Subject: [PATCH] Continue extracting from a separate volume after skipping a partial member. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reported by Göran Udeborg on 2013-03-09. * src/extract.c (extract_skip): New function. (prepare_to_extract): Set extractor to extract_skip if starting at a partial member. --- src/extract.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/extract.c b/src/extract.c index 327b67f..faee4eb 100644 --- a/src/extract.c +++ b/src/extract.c @@ -1421,6 +1421,13 @@ extract_failure (char *file_name, int typeflag) return 1; } +static int +extract_skip (char *file_name, int typeflag) +{ + skip_member (); + return 0; +} + typedef int (*tar_extractor_t) (char *file_name, int typeflag); @@ -1501,7 +1508,7 @@ prepare_to_extract (char const *file_name, int typeflag, tar_extractor_t *fun) ERROR ((0, 0, _("%s: Cannot extract -- file is continued from another volume"), quotearg_colon (current_stat_info.file_name))); - *fun = extract_failure; + *fun = extract_skip; break; case GNUTYPE_LONGNAME: -- 2.45.2