2bc337bc01
ok jasper@
24 lines
868 B
Plaintext
24 lines
868 B
Plaintext
$OpenBSD: patch-modules_file-method_c,v 1.2 2009/10/09 17:39:38 ajacoutot Exp $
|
|
--- modules/file-method.c.orig Mon May 25 10:37:05 2009
|
|
+++ modules/file-method.c Thu Oct 8 17:05:14 2009
|
|
@@ -2378,7 +2378,18 @@ do_set_file_info (GnomeVFSMethod *method,
|
|
}
|
|
|
|
if (mask & GNOME_VFS_SET_FILE_INFO_PERMISSIONS) {
|
|
- if (chmod (full_name, info->permissions) != 0) {
|
|
+ int tmask;
|
|
+ int permissions = info->permissions;
|
|
+ /*
|
|
+ * ktrace showed "invalid argument", and this makes sense....
|
|
+ * because, we cannot pass the GNOME_VFS_PERM_ACCESS_*
|
|
+ * constants to chmod.
|
|
+ */
|
|
+ tmask = GNOME_VFS_PERM_ACCESS_READABLE;
|
|
+ tmask |= GNOME_VFS_PERM_ACCESS_WRITABLE;
|
|
+ tmask |= GNOME_VFS_PERM_ACCESS_EXECUTABLE;
|
|
+ permissions = permissions & ~tmask;
|
|
+ if (chmod (full_name, permissions) != 0) {
|
|
g_free (full_name);
|
|
return gnome_vfs_result_from_errno ();
|
|
}
|