[Debburn-changes] r733 - in cdrkit/trunk: . wodim

Eduard Bloch blade at alioth.debian.org
Mon Apr 9 14:23:20 UTC 2007


Author: blade
Date: 2007-04-09 14:23:17 +0000 (Mon, 09 Apr 2007)
New Revision: 733

Modified:
   cdrkit/trunk/Changelog
   cdrkit/trunk/wodim/wodim.c
Log:
explicite warning and more grace time if user specifies a size less than 301 sectors, which is likely to be a mistake from copy-pasting of mkisofs/genisoimage -print-size output

Modified: cdrkit/trunk/Changelog
===================================================================
--- cdrkit/trunk/Changelog	2007-04-08 22:09:51 UTC (rev 732)
+++ cdrkit/trunk/Changelog	2007-04-09 14:23:17 UTC (rev 733)
@@ -4,6 +4,9 @@
   * forced MAGIC_ERROR definition for older version, thanks to T. Schmidt
   * always return a value in usal_sense_table(...), from a patch from
     SUSE (cdrkit-dvd-fix.patch)
+  * explicite warning and more grace time if user specifies a size less than
+    301 sectors, which is likely to be a mistake from copy-pasting of
+    mkisofs/genisoimage -print-size output
 
  -- Eduard Bloch <blade at debian.org>  Fri, 06 Apr 2007 16:22:49 +0200
 

Modified: cdrkit/trunk/wodim/wodim.c
===================================================================
--- cdrkit/trunk/wodim/wodim.c	2007-04-08 22:09:51 UTC (rev 732)
+++ cdrkit/trunk/wodim/wodim.c	2007-04-09 14:23:17 UTC (rev 733)
@@ -189,7 +189,8 @@
 struct timeval	stoptime;
 struct timeval	fixtime;
 
-static	long	fs = -1L;	/* fifo (ring buffer) size */
+static	long	fs = -1;	/* fifo (ring buffer) size */
+static Llong warn_minisize = -1L;
 
 static	int	gracewait(cdr_t *dp, BOOL *didgracep);
 static	void	cdrstats(cdr_t *dp);
@@ -346,7 +347,7 @@
 		 * Solaris (USCSI only) regardless of the permissions for
 		 * opening files
 		 *
-		 * XXX The folowing test used to be
+		 * XXX The following test used to be
 		 * XXX #if defined(HAVE_MLOCKALL) || defined(_POSIX_MEMLOCK)
 		 * XXX but the definition for _POSIX_MEMLOCK did change during
 		 * XXX the last 8 years and the autoconf test is better for
@@ -1445,6 +1446,12 @@
 	if (didgracep)
 		didgrace = *didgracep;
 
+	if(warn_minisize>=0) {
+		fprintf(stderr,  "\nWARNING: found a microscopic small track size (%lld bytes).\n"
+				"         Do you really want to write this image? Press Ctrl-C to abort...\n\n",
+				warn_minisize);
+		gracetime+=20;
+	}
 	if (gracetime < MIN_GRACE_TIME)
 		gracetime = MIN_GRACE_TIME;
 	if (gracetime > 999)
@@ -1460,7 +1467,7 @@
 		printf("No chance to quit anymore.");
 		goto grace_done;
 	}
-	printf("Last chance to quit, starting %s write in %d seconds.",
+	printf("Last chance to quit, starting %s write in  %d seconds.",
 		(dp->cdr_cmdflags & F_DUMMY)?"dummy":"real", gracetime);
 	flush();
 	signal(SIGINT, intr);
@@ -3628,8 +3635,11 @@
 		trackp[tracks].itracksize = tracksize;
 		trackp[tracks].tracksize = tracksize;
 		trackp[tracks].tracksecs = -1L;
-		if (tracksize >= 0)
+		if (tracksize >= 0) {
 			trackp[tracks].tracksecs = (tracksize+secsize-1)/secsize;
+			if(tracksize<616448)
+				warn_minisize=tracksize;
+		}
 		if (trackp[tracks].pregapsize < 0)
 			trackp[tracks].pregapsize = pregapsize;
 		trackp[tracks+1].pregapsize = -1;




More information about the Debburn-changes mailing list