]> git.wh0rd.org - dump.git/blobdiff - dump/itime.c
Fixed a memory leak in traverse.c (dump growed very big when dumping a big filesystem).
[dump.git] / dump / itime.c
index e29632cf75626cf721a38ab238d282f2bcbcd46c..62792253d13b33e0ccc8ce8a0936a3b809a47c68 100644 (file)
@@ -2,8 +2,7 @@
  *     Ported to Linux's Second Extended File System as part of the
  *     dump and restore backup suit
  *     Remy Card <card@Linux.EU.Org>, 1994-1997
- *      Stelian Pop <pop@cybercable.fr>, 1999 
- *
+ *     Stelian Pop <pop@cybercable.fr>, 1999 
  */
 
 /*-
  */
 
 #ifndef lint
-#if 0
-static char sccsid[] = "@(#)itime.c    8.1 (Berkeley) 6/5/93";
-#endif
 static const char rcsid[] =
-       "$Id: itime.c,v 1.4 1999/10/11 13:08:07 stelian Exp $";
+       "$Id: itime.c,v 1.7 1999/10/31 19:48:28 tiniou Exp $";
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -172,10 +168,10 @@ getdumptime(int createdumpdates)
        spcl.c_ddate = 0;
        lastlevel = '0';
 
-       /* if we're not going to update dumpdates, there's no point in reading
-          it, particularly since /var might not be mounted... wait until here
-          to benefit from the initialization of variables needed by parent */
-       if (!uflag && level == lastlevel)
+       /* If this is a level 0 dump, there's no point in trying to read
+          dumpdates.  It may not exist yet, or may not be mounted.  For
+          incrementals, we *must* read dumpdates (fail if it's not there!) */
+       if (level == lastlevel)
                return;
        initdumptimes(createdumpdates);
        if (ddatev == NULL)