aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2007-08-01 08:36:38 +0000
committerCorinna Vinschen <corinna@vinschen.de>2007-08-01 08:36:38 +0000
commit67629eb258e8c487c504dac7517ce787b2f338a9 (patch)
tree8c4358b98a86cdd00bb7e9f1728cd08719abfd9b
parent2bee37bcaef5120a84b384a77fe01dc646d99386 (diff)
downloadnewlib-67629eb258e8c487c504dac7517ce787b2f338a9.zip
newlib-67629eb258e8c487c504dac7517ce787b2f338a9.tar.gz
newlib-67629eb258e8c487c504dac7517ce787b2f338a9.tar.bz2
* fhandler.cc (check_posix_perms): Remove.
(fhandler_base::fpathconf): Return value of pc.has_acls () instead of calling check_posix_perms.
-rw-r--r--winsup/cygwin/ChangeLog6
-rw-r--r--winsup/cygwin/fhandler.cc27
2 files changed, 7 insertions, 26 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 4cd396e..2d2e4bb 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,11 @@
2007-08-01 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler.cc (check_posix_perms): Remove.
+ (fhandler_base::fpathconf): Return value of pc.has_acls () instead
+ of calling check_posix_perms.
+
+2007-08-01 Corinna Vinschen <corinna@vinschen.de>
+
* syscalls.cc (rename): Use unchanged path_conv in condition.
2007-08-01 Corinna Vinschen <corinna@vinschen.de>
diff --git a/winsup/cygwin/fhandler.cc b/winsup/cygwin/fhandler.cc
index 16f87a7..0b7cc61 100644
--- a/winsup/cygwin/fhandler.cc
+++ b/winsup/cygwin/fhandler.cc
@@ -1584,31 +1584,6 @@ fhandler_base::fsync ()
return -1;
}
-/* Helper function for Cygwin specific pathconf flags _PC_POSIX_PERMISSIONS
- and _PC_POSIX_SECURITY. */
-static int
-check_posix_perm (const char *fname, int v)
-{
- if (!allow_ntsec)
- return 0;
-
- char *root = rootdir (fname, (char *)alloca (strlen (fname) + 2));
-
- if (!allow_smbntsec
- && ((root[0] == '\\' && root[1] == '\\')
- || GetDriveType (root) == DRIVE_REMOTE))
- return 0;
-
- DWORD vsn, len, flags;
- if (!GetVolumeInformation (root, NULL, 0, &vsn, &len, &flags, NULL, 16))
- {
- __seterrno ();
- return 0;
- }
-
- return (flags & FS_PERSISTENT_ACLS) ? 1 : 0;
-}
-
int
fhandler_base::fpathconf (int v)
{
@@ -1663,7 +1638,7 @@ fhandler_base::fpathconf (int v)
case _PC_POSIX_PERMISSIONS:
case _PC_POSIX_SECURITY:
if (get_device () == FH_FS)
- return check_posix_perm (get_win32_name (), v);
+ return pc.has_acls ();
set_errno (EINVAL);
break;
default: