From: Sergey Poznyakoff Date: Tue, 12 Mar 2013 21:11:32 +0000 (+0200) Subject: Continue extracting from a separate volume after skipping a partial member. X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Ftar;a=commitdiff_plain;h=beca89bccb6b806e3528d4d0aa01cb5f2831c954 Continue extracting from a separate volume after skipping a partial member. 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. --- 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: