Fix acl_set_fd(3) and acl_get_fd(3) for cases where the kernel doesn't know

anything about _PC_ACL_NFS4.
This commit is contained in:
trasz 2009-06-25 20:57:53 +00:00
parent 5d2850ae03
commit 26f635f51f
2 changed files with 3 additions and 2 deletions

View File

@ -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));

View File

@ -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));