CVS update by vins xemacs/src ...
xemacs-cvs at xemacs.org
xemacs-cvs at xemacs.org
Sat Jan 6 09:06:45 EST 2007
User: vins
Date: 07/01/06 15:06:45
Branch: xemacs/src release-21-4
Modified: xemacs/src ChangeLog fileio.c
Log:
Revision Changes Path
1.290.2.118 +5 -0 XEmacs/xemacs/src/ChangeLog
Index: ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/ChangeLog,v
retrieving revision 1.290.2.117
retrieving revision 1.290.2.118
diff -u -p -r1.290.2.117 -r1.290.2.118
--- ChangeLog 2007/01/02 01:32:40 1.290.2.117
+++ ChangeLog 2007/01/06 14:06:35 1.290.2.118
@@ -1,3 +1,8 @@
+2007-01-04 Vin Shelton <acs at xemacs.org>
+
+ * fileio.c (check_writable): Check old-style readonly bit only for
+ non-directories.
+
2006-12-25 Benson I. Margulies <benson at dchbk.us>
* src/fileio.c (check_writable):
1.66.2.10 +5 -4 XEmacs/xemacs/src/fileio.c
Index: fileio.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/fileio.c,v
retrieving revision 1.66.2.9
retrieving revision 1.66.2.10
diff -u -p -r1.66.2.9 -r1.66.2.10
--- fileio.c 2007/01/02 01:32:45 1.66.2.9
+++ fileio.c 2007/01/06 14:06:40 1.66.2.10
@@ -2307,17 +2307,18 @@ check_writable (const char *filename)
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;
More information about the XEmacs-CVS
mailing list