summaryrefslogtreecommitdiffstats
path: root/xfce/exo/exo-mount-options.patch
blob: 1678062f3a7e3d3a9905d9e876e485cbc67ff300 (plain)
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
32
33
34
35
36
37
38
39
40
41
diff -Nur -x '*.orig' -x '*~' exo-0.3.4/exo-mount/exo-mount-hal.c exo-0.3.4.new/exo-mount/exo-mount-hal.c
--- exo-0.3.4/exo-mount/exo-mount-hal.c	2008-03-04 19:25:43.000000000 +0100
+++ exo-0.3.4.new/exo-mount/exo-mount-hal.c	2008-03-04 19:26:14.000000000 +0100
@@ -676,6 +676,18 @@
   /* check if we know any valid mount options */
   if (G_LIKELY (device->fsoptions != NULL))
     {
+      /* use utf8 on ubuntu by default */
+      if (strcmp (device->fstype, "vfat") == 0
+       || strcmp (device->fstype, "iso9660") == 0)
+        {
+          options[n++] = g_strdup_printf ("utf8");
+        }
+      /* pass the correct locale to ntfs-3g on ubuntu */
+      if (strcmp (device->fstype, "ntfs") == 0)
+        {
+          options[n++] = g_strdup_printf ("locale=%s", setlocale (LC_ALL, ""));
+        }
+
       /* process all valid mount options */
       for (m = 0; device->fsoptions[m] != NULL; ++m)
         {
@@ -725,8 +737,16 @@
               ? exo_str_replace (mount_point, G_DIR_SEPARATOR_S, "_") 
               : g_strdup ("");
 
-  /* let HAL guess the fstype */
-  fstype = g_strdup ("");
+  if (strcmp (device->fstype, "ntfs") == 0)
+    {
+      /* override ntfs with ntfs-3g on ubuntu */
+      fstype = g_strdup ("ntfs-3g");
+    }
+  else
+    {
+      /* let HAL guess the fstype */
+      fstype = g_strdup ("");
+    }
 
   /* setup the D-Bus error */
   dbus_error_init (&derror);