]> git.wh0rd.org - dump.git/commitdiff
Another set of fixes for file not found at end of tape.
authorStelian Pop <stelian@popies.net>
Mon, 24 Dec 2001 15:53:41 +0000 (15:53 +0000)
committerStelian Pop <stelian@popies.net>
Mon, 24 Dec 2001 15:53:41 +0000 (15:53 +0000)
restore/restore.c
restore/restore.h
restore/tape.c

index f0118f26b01940dc901fee6a925b137232d05cad..618380489adf50aebbf160cc07d0f56ac471549f 100644 (file)
@@ -41,7 +41,7 @@
 
 #ifndef lint
 static const char rcsid[] =
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: restore.c,v 1.19 2001/12/24 12:31:12 stelian Exp $";
+       "$Id: restore.c,v 1.20 2001/12/24 15:53:41 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
 #endif /* not lint */
 
 #include <config.h>
@@ -867,7 +867,8 @@ createfiles(void)
                 */
                while (curfile.ino > last) {
                        curfile.action = SKIP;
                 */
                while (curfile.ino > last) {
                        curfile.action = SKIP;
-                       getvol((long)0);
+                       if (!pipein)
+                               getvol((long)0);
                        if (curfile.ino == maxino) {
                                next = lowerbnd(next);
                                while (next < curfile.ino) {
                        if (curfile.ino == maxino) {
                                next = lowerbnd(next);
                                while (next < curfile.ino) {
index 9f5b9c0e41c9ed476e0ff10036487f2f907743ad..a55a8fdfaa801570cf23ed39480c4792fa663451 100644 (file)
@@ -5,7 +5,7 @@
  *     Stelian Pop <pop@noos.fr>, 1999-2000
  *     Stelian Pop <pop@noos.fr> - Alcôve <www.alcove.fr>, 2000
  *
  *     Stelian Pop <pop@noos.fr>, 1999-2000
  *     Stelian Pop <pop@noos.fr> - Alcôve <www.alcove.fr>, 2000
  *
- *     $Id: restore.h,v 1.19 2001/11/16 14:09:07 stelian Exp $
+ *     $Id: restore.h,v 1.20 2001/12/24 15:53:41 stelian Exp $
  */
 
 /*
  */
 
 /*
@@ -78,6 +78,7 @@ extern time_t dumptime;       /* time that this dump begins */
 extern time_t  dumpdate;       /* time that this dump was made */
 extern char    command;        /* opration being performed */
 extern FILE    *terminal;      /* file descriptor for the terminal input */
 extern time_t  dumpdate;       /* time that this dump was made */
 extern char    command;        /* opration being performed */
 extern FILE    *terminal;      /* file descriptor for the terminal input */
+extern int     pipein;         /* input is from a pipe */
 extern char    *tmpdir;        /* name of temp directory */
 extern int     oldinofmt;      /* reading tape with old format inodes */
 extern int     Bcvt;           /* need byte swapping on inodes and dirs */
 extern char    *tmpdir;        /* name of temp directory */
 extern int     oldinofmt;      /* reading tape with old format inodes */
 extern int     Bcvt;           /* need byte swapping on inodes and dirs */
index c46394bd0545257354db36cfeef8f61ec6524c42..4b4f7362ccf6a97713c9edcfd7b8e315cf1f543a 100644 (file)
@@ -46,7 +46,7 @@
 
 #ifndef lint
 static const char rcsid[] =
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: tape.c,v 1.49 2001/12/24 12:31:12 stelian Exp $";
+       "$Id: tape.c,v 1.50 2001/12/24 15:53:41 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
 #endif /* not lint */
 
 #include <config.h>
@@ -97,7 +97,7 @@ int           noresyncmesg = 0;
 #endif /* USE_QFA */
 static long    fssize = MAXBSIZE;
 static int     mt = -1;
 #endif /* USE_QFA */
 static long    fssize = MAXBSIZE;
 static int     mt = -1;
-static int     pipein = 0;
+int            pipein = 0;
 static int     magtapein = 0;          /* input is from magtape */
 static char    magtape[MAXPATHLEN];
 static char    magtapeprefix[MAXPATHLEN];
 static int     magtapein = 0;          /* input is from magtape */
 static char    magtape[MAXPATHLEN];
 static char    magtapeprefix[MAXPATHLEN];