diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index d7f416eeb..075575964 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,13 @@ +2011-08-01 Corinna Vinschen + + * syscalls.cc (faccessat): Fix parens in flag expression when calling + build_fh_name. + + * fhandler_disk_file.cc (fhandler_disk_file::mkdir): Fix typo in + comment. + * fhandler_socket.cc (fhandler_socket::bind): Ditto. + * path.cc (symlink_worker): Ditto. + 2011-07-31 Christopher Faylor * dll_init.cc (dll_list::load_after_fork_impl): Add a hint to an error diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 3323881dc..71e3f8a48 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -1665,7 +1665,7 @@ fhandler_disk_file::mkdir (mode_t mode) open the file again. FIXME: On remote NTFS shares open sometimes fails because even the creator of the file doesn't have the right to change the DACL. - I don't know what setting that is or howq to recognize such a share, + I don't know what setting that is or how to recognize such a share, so for now we don't request WRITE_DAC on remote drives. */ access |= READ_CONTROL | WRITE_DAC; status = NtCreateFile (&dir, access, pc.get_object_attr (attr, sa), &io, NULL, diff --git a/winsup/cygwin/fhandler_socket.cc b/winsup/cygwin/fhandler_socket.cc index bcb720fb2..72669c53f 100644 --- a/winsup/cygwin/fhandler_socket.cc +++ b/winsup/cygwin/fhandler_socket.cc @@ -956,7 +956,7 @@ fhandler_socket::bind (const struct sockaddr *name, int namelen) open the file again. FIXME: On remote NTFS shares open sometimes fails because even the creator of the file doesn't have the right to change the DACL. - I don't know what setting that is or howq to recognize such a share, + I don't know what setting that is or how to recognize such a share, so for now we don't request WRITE_DAC on remote drives. */ if (pc.has_acls () && !pc.isremote ()) access |= READ_CONTROL | WRITE_DAC; diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index 123829de9..10b0dfcea 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -1680,7 +1680,7 @@ symlink_worker (const char *oldpath, const char *newpath, bool use_winsym, open the file again. FIXME: On remote NTFS shares open sometimes fails because even the creator of the file doesn't have the right to change the DACL. - I don't know what setting that is or howq to recognize such a share, + I don't know what setting that is or how to recognize such a share, so for now we don't request WRITE_DAC on remote drives. */ access |= READ_CONTROL | WRITE_DAC; diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc index 4226a02fe..54d75d0e9 100644 --- a/winsup/cygwin/syscalls.cc +++ b/winsup/cygwin/syscalls.cc @@ -4153,14 +4153,14 @@ faccessat (int dirfd, const char *pathname, int mode, int flags) set_errno (EINVAL); else { - fhandler_base *fh = build_fh_name (path, - PC_KEEP_HANDLE | - (flags & AT_SYMLINK_NOFOLLOW) - ? PC_SYM_NOFOLLOW : PC_SYM_FOLLOW, + fhandler_base *fh = build_fh_name (path, (flags & AT_SYMLINK_NOFOLLOW + ? PC_SYM_NOFOLLOW + : PC_SYM_FOLLOW) + | PC_KEEP_HANDLE, stat_suffixes); if (fh) { - res = fh->fhaccess (mode, flags & AT_EACCESS); + res = fh->fhaccess (mode, !!(flags & AT_EACCESS)); delete fh; } }