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