Fixed reading of HIDDEN SYSTEM files.
authorshort <>
Sun, 4 Jan 2004 19:09:10 +0000 (19:09 +0000)
committershort <>
Sun, 4 Jan 2004 19:09:10 +0000 (19:09 +0000)
src/client/lufs/captivefs-file.c

index 62dd069..216c9bb 100644 (file)
@@ -214,6 +214,15 @@ gchar *name_normalized;
                errvfsresult=captive_file_new_open(&captive_file_object,captivefs_vfs->captive_vfs_object,name_normalized,
                                GNOME_VFS_OPEN_READ|GNOME_VFS_OPEN_WRITE|GNOME_VFS_OPEN_RANDOM);
                G_UNLOCK(libcaptive);
+               /* HIDDEN SYSTEM files (FIXME: or just HIDDEN or just SYSTEM?)
+                * refuse to be GNOME_VFS_OPEN_WRITE-opened.
+                */
+               if (errvfsresult==GNOME_VFS_ERROR_ACCESS_DENIED) {
+                       G_LOCK(libcaptive);
+                       errvfsresult=captive_file_new_open(&captive_file_object,captivefs_vfs->captive_vfs_object,name_normalized,
+                                       GNOME_VFS_OPEN_READ|GNOME_VFS_OPEN_RANDOM);
+                       G_UNLOCK(libcaptive);
+                       }
                }
        else {
                G_LOCK(libcaptive);