[Debburn-changes] r729 - in cdrkit/trunk: genisoimage libusal wodim

Eduard Bloch blade at alioth.debian.org
Fri Apr 6 14:22:40 UTC 2007


Author: blade
Date: 2007-04-06 14:22:38 +0000 (Fri, 06 Apr 2007)
New Revision: 729

Modified:
   cdrkit/trunk/genisoimage/apple.c
   cdrkit/trunk/libusal/scsi-linux-sg.c
   cdrkit/trunk/wodim/scsi_scan.c
Log:
Let --devices use sr on kernel 2.6 and sg on kernel 2.4

Modified: cdrkit/trunk/genisoimage/apple.c
===================================================================
--- cdrkit/trunk/genisoimage/apple.c	2007-04-02 22:43:29 UTC (rev 728)
+++ cdrkit/trunk/genisoimage/apple.c	2007-04-06 14:22:38 UTC (rev 729)
@@ -62,7 +62,7 @@
 magic_t magic_state = NULL;
 #ifndef MAGIC_ERROR
 /* workaround for older ´API */
-#define MAGIC_ERROR
+#define MAGIC_ERROR 0
 #endif
 #endif /* USE_MAGIC */
 

Modified: cdrkit/trunk/libusal/scsi-linux-sg.c
===================================================================
--- cdrkit/trunk/libusal/scsi-linux-sg.c	2007-04-02 22:43:29 UTC (rev 728)
+++ cdrkit/trunk/libusal/scsi-linux-sg.c	2007-04-06 14:22:38 UTC (rev 729)
@@ -248,8 +248,13 @@
 
 static BOOL get_max_secs(char *dirpath, int *outval);
 
-static BOOL check_linux_26();
 
+BOOL check_linux_26() {
+	int gen, tmp;
+	struct utsname buf;
+	return ( 0==uname( &buf ) && sscanf(buf.release, "%d.%d", &gen, &tmp)>1 && tmp>=6);
+}
+
 int sg_open_excl(char *device, int mode, BOOL beQuiet)
 {
        int f;
@@ -1837,9 +1842,3 @@
 		sg_settimeout(f, usalp->deftimeout);
 	return (0);
 }
-
-static BOOL check_linux_26() {
-	int gen, tmp;
-	struct utsname buf;
-	return ( 0==uname( &buf ) && sscanf(buf.release, "%d.%d", &gen, &tmp)>1 && tmp>=6);
-}

Modified: cdrkit/trunk/wodim/scsi_scan.c
===================================================================
--- cdrkit/trunk/wodim/scsi_scan.c	2007-04-02 22:43:29 UTC (rev 728)
+++ cdrkit/trunk/wodim/scsi_scan.c	2007-04-06 14:22:38 UTC (rev 729)
@@ -61,6 +61,8 @@
 static	int	select_unit(SCSI *usalp, FILE *f);
 #endif
 
+extern BOOL check_linux_26();
+
 static void print_product(FILE *f, struct  scsi_inquiry *ip) {
 	fprintf(f, "'%.8s' ", ip->vendor_info);
 	fprintf(f, "'%.16s' ", ip->prod_ident);
@@ -71,7 +73,7 @@
 	usal_fprintdev(f, ip);
 }
 
-#define MAXDEVCOUNT (256+26+256)
+#define MAXDEVCOUNT (256+26)
 
 int scan_devices() {
 	struct stat statbuf;
@@ -80,16 +82,15 @@
 	SCSI *usalp;
 	int i, ndevs=0;
 	BOOL have_tgt;
-
 #ifdef linux
+	char type=check_linux_26() ? 'r' : 'g';
 	fprintf(stderr, "Beginning native device scan. This may take a while if devices are busy...\n");
+
 	for(i=0;i<MAXDEVCOUNT;i++) {
 		if(i<26)
 			snprintf(devname, sizeof (devname), "/dev/hd%c", 'a'+i);
 		else if(i<(256+26))
-			snprintf(devname, sizeof (devname), "/dev/sr%d", i-26);
-		else if(i<(256+26+256))
-			snprintf(devname, sizeof (devname), "/dev/sg%d", i-26-256);
+			snprintf(devname, sizeof (devname), "/dev/s%c%d", type, i-26);
 		else
 			break;
 




More information about the Debburn-changes mailing list