summaryrefslogtreecommitdiffstats
path: root/sysutils/nautilus-cd-burner/files/patch-cd-drive.c
diff options
context:
space:
mode:
authormarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2003-09-20 12:17:22 +0800
committermarcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059>2003-09-20 12:17:22 +0800
commite3e8628062725f68ef6e4358b0c5cc750e83f3f7 (patch)
tree2810b6a3d3f4e9323485ef43c1acf0ee667c6113 /sysutils/nautilus-cd-burner/files/patch-cd-drive.c
parent2dd69647f082befcde0f49cec9aa58a1c179042e (diff)
downloadmarcuscom-ports-e3e8628062725f68ef6e4358b0c5cc750e83f3f7.tar
marcuscom-ports-e3e8628062725f68ef6e4358b0c5cc750e83f3f7.tar.gz
marcuscom-ports-e3e8628062725f68ef6e4358b0c5cc750e83f3f7.tar.bz2
marcuscom-ports-e3e8628062725f68ef6e4358b0c5cc750e83f3f7.tar.lz
marcuscom-ports-e3e8628062725f68ef6e4358b0c5cc750e83f3f7.tar.xz
marcuscom-ports-e3e8628062725f68ef6e4358b0c5cc750e83f3f7.tar.zst
marcuscom-ports-e3e8628062725f68ef6e4358b0c5cc750e83f3f7.zip
Fix n-c-b on -CURRENT where 'c' node entries for CD devices don't exist.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@1229 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'sysutils/nautilus-cd-burner/files/patch-cd-drive.c')
-rw-r--r--sysutils/nautilus-cd-burner/files/patch-cd-drive.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/sysutils/nautilus-cd-burner/files/patch-cd-drive.c b/sysutils/nautilus-cd-burner/files/patch-cd-drive.c
new file mode 100644
index 000000000..138791648
--- /dev/null
+++ b/sysutils/nautilus-cd-burner/files/patch-cd-drive.c
@@ -0,0 +1,37 @@
+--- 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);
+ }