Bug 23235 – Cannot mount disc with / (slash) in label
authorDavid Zeuthen <davidz@redhat.com>
Mon, 17 Aug 2009 17:02:29 +0000 (13:02 -0400)
committerDavid Zeuthen <davidz@redhat.com>
Mon, 17 Aug 2009 17:02:29 +0000 (13:02 -0400)
src/devkit-disks-device.c

index 407305a..06898c0 100644 (file)
@@ -4671,7 +4671,18 @@ devkit_disks_device_filesystem_mount_authorized_cb (DevkitDisksDaemon     *daemo
          *       to get better names (/media/disk is kinda lame).
          */
         if (device->priv->id_label != NULL && strlen (device->priv->id_label) > 0 ) {
-                mount_point = g_build_filename ("/media", device->priv->id_label, NULL);
+                GString *s;
+
+                s = g_string_new ("/media/");
+                for (n = 0; device->priv->id_label[n] != '\0'; n++) {
+                        gint c = device->priv->id_label[n];
+                        if (c == '/')
+                                g_string_append_c (s, '_');
+                        else
+                                g_string_append_c (s, c);
+                }
+
+                mount_point = g_string_free (s, FALSE);
         } else if (device->priv->id_uuid != NULL && strlen (device->priv->id_uuid) > 0) {
                 mount_point = g_build_filename ("/media", device->priv->id_uuid, NULL);
         } else {