]> Dogcows Code - chaz/tar/commitdiff
Continue extracting from a separate volume after skipping a partial member.
authorSergey Poznyakoff <gray@gnu.org.ua>
Tue, 12 Mar 2013 21:11:32 +0000 (23:11 +0200)
committerSergey Poznyakoff <gray@gnu.org.ua>
Tue, 12 Mar 2013 21:19:39 +0000 (23:19 +0200)
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

index 327b67f0e136e3ba9bbe70c90f3149d13b31139a..faee4eb889ec15c3deaa66d463f6bbe7fad7e773 100644 (file)
@@ -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);
 
 \f
@@ -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:
This page took 0.026091 seconds and 4 git commands to generate.