]> git.wh0rd.org - dump.git/blobdiff - restore/tape.c
Get the install paths from configure.
[dump.git] / restore / tape.c
index d7471a39b6513e9228c75b7d5959a3fb2a7c640f..63eae65ef23cf95a29dd747bed9f3e0a08496bd2 100644 (file)
@@ -46,7 +46,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: tape.c,v 1.27 2001/03/19 13:22:49 stelian Exp $";
+       "$Id: tape.c,v 1.31 2001/03/27 08:09:21 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
@@ -488,15 +488,9 @@ gethdr:
                goto again;
        }
        if (tmpbuf.c_date != dumpdate || tmpbuf.c_ddate != dumptime) {
-#ifdef __linux__
                fprintf(stderr, "Wrong dump date\n\tgot: %s",
                        ctime4(&tmpbuf.c_date));
-               fprintf(stderr, "\twanted: %s", ctime4(&dumpdate));
-#else
-               fprintf(stderr, "Wrong dump date\n\tgot: %s",
-                       ctime(&tmpbuf.c_date));
                fprintf(stderr, "\twanted: %s", ctime(&dumpdate));
-#endif
                volno = 0;
                haderror = 1;
                goto again;
@@ -596,15 +590,9 @@ setdumpnum(void)
 void
 printdumpinfo(void)
 {
-#ifdef __linux__
        fprintf(stdout, "Dump   date: %s", ctime4(&spcl.c_date));
        fprintf(stdout, "Dumped from: %s",
            (spcl.c_ddate == 0) ? "the epoch\n" : ctime4(&spcl.c_ddate));
-#else
-       fprintf(stdout, "Dump   date: %s", ctime(&spcl.c_date));
-       fprintf(stdout, "Dumped from: %s",
-           (spcl.c_ddate == 0) ? "the epoch\n" : ctime(&spcl.c_ddate));
-#endif
        if (spcl.c_host[0] == '\0')
                return;
        fprintf(stdout, "Level %d dump of %s on %s:%s\n",
@@ -1249,7 +1237,7 @@ comparefile(char *name)
                        panic("cannot delete tmp file %s: %s\n",
                              tmpfile, strerror(errno));
                }
-               if ((ofile = creat(tmpfile, 0600)) < 0) {
+               if ((ofile = open(tmpfile, O_WRONLY | O_CREAT | O_TRUNC, 0600)) < 0) {
                        panic("cannot create file temp file %s: %s\n",
                              name, strerror(errno));
                }
@@ -1754,8 +1742,8 @@ findtapeblksize(void)
                else {
                        /* read in the rest of the block based on bufsize */
                        len = bufsize - TP_BSIZE;
-                       if (read_a_block(mt, tapebuf+TP_BSIZE, len, &i) <= 0
-                           || i != len)
+                       if (read_a_block(mt, tapebuf+TP_BSIZE, len, &i) < 0
+                           || (i != len && i % TP_BSIZE != 0))
                                errx(1,"Error reading dump file header");
                        tbufptr = tapebuf;
                        numtrec = ntrec;
@@ -1993,7 +1981,7 @@ good:
 static void
 accthdr(struct s_spcl *header)
 {
-       static ino_t previno = 0x7fffffff;
+       static dump_ino_t previno = 0x7fffffff;
        static int prevtype;
        static long predict;
        long blks, i;