diff options
author | trasz <trasz@FreeBSD.org> | 2009-06-25 20:57:53 +0000 |
---|---|---|
committer | trasz <trasz@FreeBSD.org> | 2009-06-25 20:57:53 +0000 |
commit | 26f635f51fa012eb580d6a06f40c81be3eeb2e57 (patch) | |
tree | d11d127c34f389873f982f24055c1e33fd6ebc52 /lib/libc | |
parent | 5d2850ae03b3aae3b966028ceb9b1b04c7093197 (diff) | |
download | FreeBSD-src-26f635f51fa012eb580d6a06f40c81be3eeb2e57.zip FreeBSD-src-26f635f51fa012eb580d6a06f40c81be3eeb2e57.tar.gz |
Fix acl_set_fd(3) and acl_get_fd(3) for cases where the kernel doesn't know
anything about _PC_ACL_NFS4.
Diffstat (limited to 'lib/libc')
-rw-r--r-- | lib/libc/posix1e/acl_get.c | 3 | ||||
-rw-r--r-- | lib/libc/posix1e/acl_set.c | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/libc/posix1e/acl_get.c b/lib/libc/posix1e/acl_get.c index e8807c4..8a77ab1 100644 --- a/lib/libc/posix1e/acl_get.c +++ b/lib/libc/posix1e/acl_get.c @@ -47,6 +47,7 @@ __FBSDID("$FreeBSD$"); #include "un-namespace.h" #include <errno.h> +#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> @@ -102,7 +103,7 @@ acl_get_link_np(const char *path_p, acl_type_t type) acl_t acl_get_fd(int fd) { - if (fpathconf(fd, _PC_ACL_NFS4)) + if (fpathconf(fd, _PC_ACL_NFS4) == 1) return (acl_get_fd_np(fd, ACL_TYPE_NFS4)); return (acl_get_fd_np(fd, ACL_TYPE_ACCESS)); diff --git a/lib/libc/posix1e/acl_set.c b/lib/libc/posix1e/acl_set.c index 7086c4b..f9ee76d 100644 --- a/lib/libc/posix1e/acl_set.c +++ b/lib/libc/posix1e/acl_set.c @@ -108,7 +108,7 @@ int acl_set_fd(int fd, acl_t acl) { - if (fpathconf(fd, _PC_ACL_NFS4)) + if (fpathconf(fd, _PC_ACL_NFS4) == 1) return (acl_set_fd_np(fd, acl, ACL_TYPE_NFS4)); return (acl_set_fd_np(fd, acl, ACL_TYPE_ACCESS)); |