Hello,

I can confirm this bug, although it is quite hard to reproduce it (I was able 
to reproduce it only on one machine out of several almost identical ones).

I was able to track down the bug to the diff between svn revisions  743 and 
744 (The svn diff is attached). Indeed, after reverting this change, 
everything works.

Greets
        Richard
Index: genisoimage/tree.c
===================================================================
--- genisoimage/tree.c	(revision 744)
+++ genisoimage/tree.c	(revision 743)
@@ -1421,8 +1421,13 @@
 	if (this_dir == root && strcmp(short_name, ".") == 0)
 		root_statbuf = statbuf;	/* Save this for later on */
 
+	printf("hab: %s, gesetzt, st_mode: %d\n", short_name, statbuf.st_mode);
+
 	/* We do this to make sure that the root entries are consistent */
 	if (this_dir == root && strcmp(short_name, "..") == 0) {
+		if(root_statbuf.st_mode == 0) { /* not seen yet, fake it */
+			root_statbuf.st_mode=S_IFDIR | S_IRWXU | S_IRWXG | S_IRWXO;
+		}
 		statbuf = root_statbuf;
 		lstatbuf = root_statbuf;
 	}
@@ -1596,12 +1601,10 @@
 		!S_ISFIFO(lstatbuf.st_mode) && !S_ISSOCK(lstatbuf.st_mode) &&
 		!S_ISLNK(lstatbuf.st_mode) && !S_ISREG(lstatbuf.st_mode) &&
 		!S_ISDIR(lstatbuf.st_mode)) {
-        if ( ! (this_dir == root && strcmp(short_name, "..") == 0)) {
-            fprintf(stderr,
-                    "Unknown file type (%s) %s - ignoring and continuing.\n",
-                    filetype((int) lstatbuf.st_mode), whole_path);
-            return (0);
-        }
+		fprintf(stderr,
+		"Unknown file type (%s) %s - ignoring and continuing.\n",
+			filetype((int) lstatbuf.st_mode), whole_path);
+		return (0);
 	}
 	/* Who knows what trash this is - ignore and continue */
 
Index: Changelog
===================================================================
--- Changelog	(revision 744)
+++ Changelog	(revision 743)
@@ -16,7 +16,8 @@
   * genisoimage: restored support for iso9660 file sizes up to 4GB-1
   * genisoimage: forced MAGIC_ERROR definition for older version, thanks 
     to T. Schmidt
-  * genisoimage: avoid pointless warnings on filetype of <root directory>/".."
+  * genisoimage: workaround to create dummy ".." entry in the root directory
+    where it could be just ignored before
 
  -- Eduard Bloch <[EMAIL PROTECTED]>  Fri, 20 Apr 2007 23:41:13 +0200
 

Reply via email to