summaryrefslogtreecommitdiff
path: root/sysutils/cdrtools-devel/files/patch-readcd::readcd.c
blob: f347a229990230aa78e80a33b1ed413369fe5127 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
--- readcd/readcd.c.original	Sun Jan 15 17:14:03 2006
+++ readcd/readcd.c	Sun Jan 15 17:24:47 2006
@@ -370,6 +370,8 @@
 			exit(err);
 		}
 	} else {
+                char	errstr[80];
+
 		if (scsibus == -1 && target >= 0 && lun >= 0)
 			scsibus = 0;
 
@@ -378,8 +380,17 @@
 		scgp->kdebug = kdebug;
 
 		scg_settarget(scgp, scsibus, target, lun);
-		if (scg__open(scgp, NULL) <= 0)
-			comerr("Cannot open SCSI driver.\n");
+
+		scgp = scg_open(dev, errstr, sizeof(errstr), 0, 0);
+
+		if (scgp == NULL) { 
+		         errmsg("%s%sCannot open SCSI driver.\n", errstr, errstr[0]?". ":"");
+		         errmsgno(EX_BAD, "For possible targets try 'readcd -scanbus'.%s\n",
+                                                geteuid() ? " Make sure you are root.":"");
+			 errmsgno(EX_BAD, "For possible transport specifiers try 'readcd dev=help'.\n");
+                        exit(EX_BAD);
+		}
+
 	}
 	scgp->silent = silent;
 	scgp->verbose = verbose;