--- cd-drive.c.orig Sat Sep 20 00:07:14 2003
+++ cd-drive.c Sat Sep 20 00:14:56 2003
@@ -702,6 +702,7 @@
int speed = 16; /* XXX Hardcode the write speed for now. */
int max_speed = CDR_MAX_SPEED;
int i = 0;
+ int cnode = 1; /* Use the CD device's 'c' node. */
while (1) {
CDDriveType type;
@@ -714,7 +715,12 @@
if (!g_file_test (cam_path, G_FILE_TEST_EXISTS)) {
g_free (cam_path);
- break;
+ cam_path = g_strdup_printf ("/dev/%s%d", dev_type, i);
+ cnode = 0;
+ if (!g_file_test (cam_path, G_FILE_TEST_EXISTS)) {
+ g_free (cam_path);
+ break;
+ }
}
if ((cam_dev = cam_open_spec_device (dev_type, i, O_RDWR, NULL)) == NULL) {
@@ -725,7 +731,11 @@
/* XXX Other controllers might need to be added. */
if ((strncmp (cam_dev->sim_name, "ata", 3)) == 0) {
- dev = g_strdup_printf ("/dev/a%s%dc", dev_type, i);
+ if (cnode) {
+ dev = g_strdup_printf ("/dev/a%s%dc", dev_type, i);
+ } else {
+ dev = g_strdup_printf ("/dev/a%s%d", dev_type, i);
+ }
} else {
dev = g_strdup (cam_path);
}