[Debburn-changes] r740 - in cdrkit/trunk: . genisoimage

Eduard Bloch blade at alioth.debian.org
Fri Apr 20 21:41:39 UTC 2007


Author: blade
Date: 2007-04-20 21:41:38 +0000 (Fri, 20 Apr 2007)
New Revision: 740

Modified:
   cdrkit/trunk/Changelog
   cdrkit/trunk/genisoimage/tree.c
Log:
Restore the support for 4GB-1 and print better messages

Modified: cdrkit/trunk/Changelog
===================================================================
--- cdrkit/trunk/Changelog	2007-04-20 21:29:06 UTC (rev 739)
+++ cdrkit/trunk/Changelog	2007-04-20 21:41:38 UTC (rev 740)
@@ -1,5 +1,6 @@
 cdrkit (1.1.5) UNRELEASED; urgency=low
 
+  * restored support for iso9660 file sizes up to 4GB-1
   * 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)

Modified: cdrkit/trunk/genisoimage/tree.c
===================================================================
--- cdrkit/trunk/genisoimage/tree.c	2007-04-20 21:29:06 UTC (rev 739)
+++ cdrkit/trunk/genisoimage/tree.c	2007-04-20 21:41:38 UTC (rev 740)
@@ -49,6 +49,7 @@
 #include <schily.h>
 
 extern int allow_limited_size;
+int udf_warned = 0;
 
 #ifdef VMS
 #include <sys/file.h>
@@ -1546,17 +1547,22 @@
 #endif
 		return (0);
 	}
-	if (S_ISREG(lstatbuf.st_mode) && (lstatbuf.st_size >= (off_t)0x7FFFFFFF)) {
-		fprintf(stderr, "File %s is larger than 2GiB.\n", whole_path);
-		if(allow_limited_size) {
-			fprintf(stderr, "This size can only be represented in the UDF filesystem.\n"
-					"Make sure that your clients support and use it.\n"
-                                        "ISO9660, Joliet, RockRidge, HFS will display incorrect size.\n");
-		}
-		else {
-			fprintf(stderr, "-allow-limited-size was not specified. There is no way do represent this file size. Aborting.\n");
-			exit(1);
-		}
+    /* print a warning but don't spam too much */
+    if (S_ISREG(lstatbuf.st_mode) && (lstatbuf.st_size >= (off_t)0xFFFFFFFF)) {
+
+        if( !allow_limited_size || verbose>1)
+            fprintf(stderr, "File %s is larger than 4GiB-1.\n", whole_path);
+        if( !allow_limited_size)
+        {
+            fprintf(stderr, "-allow-limited-size was not specified. There is no way do represent this file size. Aborting.\n");
+            exit(1);
+        }
+        if(verbose>=1 && ! udf_warned ) {
+            udf_warned++;
+            fprintf(stderr, "This size can only be represented in the UDF filesystem.\n"
+                    "Make sure that your clients support and use it.\n"
+                    "ISO9660, Joliet, RockRidge, HFS will display incorrect size.\n");
+        }
 	}
 	/*
 	 * Add this so that we can detect directory loops with hard links.




More information about the Debburn-changes mailing list