APPROVE COMMIT 21.4
This patch will appear in 21.4.21.
- Vin
On 1/4/07, Vin Shelton <acs(a)alumni.princeton.edu> wrote:
I think this patch (against 21.4 in CVS) fixes the problems
identified:
1) I can once again edit a non-existent file in a write-protected directory
2) XEmacs respects the readonly bit
3) the infloop on "xemacs -vanilla nonexistent_file" problem has gone away.
Please review. I will commit if no one objects.
- Vin
Index: src/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/ChangeLog,v
retrieving revision 1.290.2.117
diff -a -u -r1.290.2.117 ChangeLog
--- src/ChangeLog 2007/01/02 01:32:40 1.290.2.117
+++ src/ChangeLog 2007/01/04 22:34:51
@@ -1,3 +1,8 @@
+2007-01-04 Vin Shelton <acs(a)xemacs.org>
+
+ * fileio.c (check_writable): Check old-style readonly bit only for
+ non-directories.
+
2006-12-25 Benson I. Margulies <benson(a)dchbk.us>
* src/fileio.c (check_writable):
Index: src/fileio.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/fileio.c,v
retrieving revision 1.66.2.9
diff -a -u -r1.66.2.9 fileio.c
--- src/fileio.c 2007/01/02 01:32:45 1.66.2.9
+++ src/fileio.c 2007/01/04 22:34:52
@@ -2307,17 +2307,18 @@
filename = filename_buffer;
#endif
- // ask simple question first
+ // First check for a normal file with the old-style readonly bit
attributes = GetFileAttributes(filename);
- if (0 != (attributes & FILE_ATTRIBUTE_READONLY))
- return 0;
+ if (FILE_ATTRIBUTE_READONLY == (attributes &
(FILE_ATTRIBUTE_DIRECTORY|FILE_ATTRIBUTE_READONLY)))
+ return 0;
/* Win32 prototype lacks const. */
error = GetNamedSecurityInfo((LPTSTR)filename, SE_FILE_OBJECT,
DACL_SECURITY_INFORMATION|GROUP_SECURITY_INFORMATION|OWNER_SECURITY_INFORMATION,
&psidOwner, &psidGroup, &pDacl, &pSacl,
&pDesc);
if (error != ERROR_SUCCESS) { // FAT?
- return 1;
+ attributes = GetFileAttributes(filename);
+ return (attributes & FILE_ATTRIBUTE_DIRECTORY) || (0 ==
(attributes & FILE_ATTRIBUTE_READONLY));
}
genericMapping.GenericRead = FILE_GENERIC_READ;
--
The Journey by Mary Oliver
http://www.poemhunter.com/p/m/poem.asp?poet=6771&poem=30506
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches