]> git.wh0rd.org - dump.git/blobdiff - dump/main.c
Fixed a lot of warnings in the code thanks to 'gcc -W'
[dump.git] / dump / main.c
index 93c175c73b509e604595f1e874da4890ca4c14aa..d06c2fde3863fe2b1c98fe45a132835535a22e38 100644 (file)
@@ -41,7 +41,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: main.c,v 1.71 2002/04/04 08:20:23 stelian Exp $";
+       "$Id: main.c,v 1.74 2002/07/19 14:57:39 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
@@ -111,6 +111,7 @@ int uflag;          /* update flag */
 int    mflag;          /* dump metadata only if possible */
 int    Mflag;          /* multi-volume flag */
 int    qflag;          /* quit on errors flag */
+int    vflag;          /* verbose flag */
 int     breademax = 32; /* maximum number of bread errors before we quit */
 char   *eot_script;    /* end of volume script fiag */
 int    diskfd;         /* disk file descriptor */
@@ -255,7 +256,7 @@ main(int argc, char *argv[])
 #ifdef USE_QFA
                            "Q:"
 #endif
-                           "s:ST:uWw"
+                           "s:ST:uvWw"
 #ifdef HAVE_ZLIB
                            "z::"
 #endif
@@ -427,6 +428,10 @@ main(int argc, char *argv[])
                        uflag = 1;
                        break;
 
+               case 'v':               /* verbose */
+                       vflag = 1;
+                       break;
+
                case 'W':               /* what to do */
                case 'w':
                        lastdump(ch);
@@ -706,9 +711,7 @@ main(int argc, char *argv[])
        if (TP_BSIZE != (1 << tp_bshift))
                quit("TP_BSIZE (%d) is not a power of 2", TP_BSIZE);
        maxino = fs->super->s_inodes_count + 1;
-#if    0
        spcl.c_flags |= DR_NEWINODEFMT;
-#endif
 #else  /* __linux __*/
        if ((diskfd = open(disk, O_RDONLY)) < 0) {
                msg("Cannot open %s\n", disk);
@@ -876,10 +879,10 @@ main(int argc, char *argv[])
                /* print QFA-file header */
                snprintf(gTps, sizeof(gTps), "%s\n%s\n%ld\n\n", QFA_MAGIC, QFA_VERSION, (unsigned long)spcl.c_date);
                gTps[sizeof(gTps) - 1] = '\0';
-               if (write(gTapeposfd, gTps, strlen(gTps)) != strlen(gTps))
+               if (write(gTapeposfd, gTps, strlen(gTps)) != (ssize_t)strlen(gTps))
                        quit("can't write tapeposfile\n");
                sprintf(gTps, "ino\ttapeno\ttapepos\n");
-               if (write(gTapeposfd, gTps, strlen(gTps)) != strlen(gTps))
+               if (write(gTapeposfd, gTps, strlen(gTps)) != (ssize_t)strlen(gTps))
                        quit("can't write tapeposfile\n");
        }
 #endif /* USE_QFA */
@@ -916,6 +919,8 @@ main(int argc, char *argv[])
                 */
                if (dp->di_nlink == 0 || dp->di_dtime != 0)
                        continue;
+               if (vflag)
+                       msg("dumping directory inode %lu\n", ino);
                (void)dumpdirino(dp, ino);
 #else
                (void)dumpino(dp, ino);
@@ -942,6 +947,12 @@ main(int argc, char *argv[])
                 * inodes since this is done in dumpino().
                 */
 #endif
+               if (vflag) {
+                       if (mflag && TSTINO(ino, metainomap))
+                               msg("dumping regular inode %lu (meta only)\n", ino);
+                       else
+                               msg("dumping regular inode %lu\n", ino);
+               }
                (void)dumpino(dp, ino, mflag && TSTINO(ino, metainomap));
        }
 
@@ -1025,7 +1036,7 @@ usage(void)
 #ifdef KERBEROS
                "k"
 #endif
-               "mMnqSu"
+               "mMnqSuv"
                "] [-A file] [-B records] [-b blocksize]\n"
                "\t%s [-d density] [-e inode#,inode#,...] [-E file] [-f file]\n"
                "\t%s [-h level] [-I nr errors] "