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);
|