Workaround FUSE missing the generally broken Linux kernel charset support.
[captive.git] / src / client / fuse / op_utime.c
index 22b9386..69a51df 100644 (file)
@@ -32,6 +32,7 @@
 #include "main.h"
 #include "gnomevfsresult.h"
 #include "capfuse_captive_file_info_object.h"
+#include "utf8.h"
 
 
 int op_utime(const char *path,struct utimbuf *buf)
@@ -45,6 +46,8 @@ CaptiveFileInfoObject *captive_file_info_object;
        g_return_val_if_fail(buf->actime!=0,-EINVAL);
        g_return_val_if_fail(buf->modtime!=0,-EINVAL);
 
+  path=CAPFUSE_FILENAME_TO_UTF8_ALLOCA(path);
+
        if (GNOME_VFS_OK!=(errvfsresult=captive_file_new_open(&captive_file_object,capfuse_captive_vfs_object,path,
                        GNOME_VFS_OPEN_WRITE|GNOME_VFS_OPEN_RANDOM)))
                return -gnomevfsresult_to_errno(errvfsresult);