]> git.wh0rd.org - dump.git/commitdiff
Fix a bug in dump where waiting too much when changing tapes causes the volume to...
authorStelian Pop <stelian@popies.net>
Fri, 16 Feb 2001 13:38:46 +0000 (13:38 +0000)
committerStelian Pop <stelian@popies.net>
Fri, 16 Feb 2001 13:38:46 +0000 (13:38 +0000)
CHANGES
dump/tape.c

diff --git a/CHANGES b/CHANGES
index f603acafa33d01675f6bd1eef3d3401d49c6e2d9..77efe79d1c3c4a32d011e1a4f264f9b7daa2711d 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,11 +1,16 @@
-$Id: CHANGES,v 1.101 2001/02/16 10:40:47 stelian Exp $
+$Id: CHANGES,v 1.102 2001/02/16 13:38:46 stelian Exp $
 
 Changes between versions 0.4b21 and 0.4b22 (released ????????????????)
 ======================================================================
 
-1.     Let dump report the number of blocks dumped per volume.
+1.     Made dump report the number of blocks dumped per volume.
        Thanks to Kenneth Porter <shiva@well.com> for the suggestion.
 
+2.     Fix a bug in dump where waiting too much at the 'change volumes'
+       question caused the volume to be rewritten. Thanks to
+       Graham Reed <greed@users.sourceforge.net> for reporting the
+       bug and providing a patch.
+
 Changes between versions 0.4b20 and 0.4b21 (released January 13, 2001)
 ======================================================================
 
index a210ebb0567a7e506b83e71bac9ee44d4fc14507..2db739cf91b19e5e0df7ae845e62618358cf8e5a 100644 (file)
@@ -41,7 +41,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: tape.c,v 1.29 2001/02/16 10:40:48 stelian Exp $";
+       "$Id: tape.c,v 1.30 2001/02/16 13:38:47 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
@@ -315,11 +315,17 @@ mktimeest(time_t tnow)
                tapesize = blockswritten;
        deltat = tstart_writing - tnow + (1.0 * (tnow - tstart_writing))
                / blockswritten * tapesize;
-       (void)snprintf(msgbuf, sizeof(msgbuf),
-               "%3.2f%% done at %ld KB/s, finished in %d:%02d\n",
-               (blockswritten * 100.0) / tapesize,
-               (spcl.c_tapea - tapea_volume) / (tnow - tstart_volume),
-               (int)(deltat / 3600), (int)((deltat % 3600) / 60));
+       if (tnow > tstart_volume)
+               (void)snprintf(msgbuf, sizeof(msgbuf),
+                       "%3.2f%% done at %ld KB/s, finished in %d:%02d\n",
+                       (blockswritten * 100.0) / tapesize,
+                       (spcl.c_tapea - tapea_volume) / (tnow - tstart_volume),
+                       (int)(deltat / 3600), (int)((deltat % 3600) / 60));
+       else
+               (void)snprintf(msgbuf, sizeof(msgbuf),
+                       "%3.2f%% done, finished in %d:%02d\n",
+                       (blockswritten * 100.0) / tapesize,
+                       (int)(deltat / 3600), (int)((deltat % 3600) / 60));
 
        return msgbuf;
 }