Fixed captivefs_setattr() attributes mask.
authorshort <>
Fri, 22 Aug 2003 11:40:45 +0000 (11:40 +0000)
committershort <>
Fri, 22 Aug 2003 11:40:45 +0000 (11:40 +0000)
src/client/lufs/captivefs-file.c

index 2f25261..001ca8e 100644 (file)
@@ -446,7 +446,16 @@ CaptiveFileObject *captive_file_object;
                goto fail;
 
        G_LOCK(libcaptive);
-       errvfsresult=captive_file_file_info_set(captive_file_object,&file_info,file_info.valid_fields);
+       errvfsresult=captive_file_file_info_set(captive_file_object,&file_info,
+                       0
+                                       | 0 /* 'GNOME_VFS_SET_FILE_INFO_NAME' is never set */
+                                       | (!(file_info.valid_fields&GNOME_VFS_FILE_INFO_FIELDS_PERMISSIONS) ? 0 : GNOME_VFS_SET_FILE_INFO_PERMISSIONS)
+                                       | 0 /* 'GNOME_VFS_SET_FILE_INFO_OWNER' is never set */
+                                       | (!(file_info.valid_fields&(0
+                                                                       | GNOME_VFS_FILE_INFO_FIELDS_ATIME
+                                                                       | GNOME_VFS_FILE_INFO_FIELDS_MTIME
+                                                                       | GNOME_VFS_FILE_INFO_FIELDS_CTIME)
+                                                       ? 0 : GNOME_VFS_SET_FILE_INFO_TIME)));
        G_UNLOCK(libcaptive);
        if (errvfsresult!=GNOME_VFS_OK)
                goto fail_unref;