]> Dogcows Code - chaz/tar/commitdiff
(try_new_volume): Attempt to continue if the name is apparently truncated in a GNU...
authorSergey Poznyakoff <gray@gnu.org.ua>
Tue, 2 May 2006 19:15:35 +0000 (19:15 +0000)
committerSergey Poznyakoff <gray@gnu.org.ua>
Tue, 2 May 2006 19:15:35 +0000 (19:15 +0000)
src/buffer.c

index 0e7d47beb082c20c56134139e3ae18ad3541972f..06b6901a58efc23f0b4dae90ed3729cd152e3f07 100644 (file)
@@ -1151,9 +1151,19 @@ try_new_volume ()
       if (!continued_file_name
          || strcmp (continued_file_name, real_s_name))
        {
-         WARN ((0, 0, _("%s is not continued on this volume"),
-                quote (real_s_name)));
-         return false;
+         if ((archive_format == GNU_FORMAT || archive_format == OLDGNU_FORMAT)
+             && strlen (real_s_name) >= NAME_FIELD_SIZE
+             && strncmp (continued_file_name, real_s_name,
+                         NAME_FIELD_SIZE) == 0)
+           WARN ((0, 0,
+ _("%s is possibly continued on this volume: header contains truncated name"),
+                  quote (real_s_name)));
+         else
+           {
+             WARN ((0, 0, _("%s is not continued on this volume"),
+                    quote (real_s_name)));
+             return false;
+           }
        }
 
       s = continued_file_size + continued_file_offset;
This page took 0.026676 seconds and 4 git commands to generate.