diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:34:38 +0000 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-12-27 16:34:38 +0000 |
commit | 7576c27563a3e43c0a276bf222244bcaf220a6fa (patch) | |
tree | ad96fd1f1b9b57a50005db7803f6b79e748bb820 /hurd/lookup-at.c | |
parent | ab5f5211585bf0f33bbfa2d4aaf17e4f0d1fa564 (diff) | |
parent | 064374be911f72dfaec8a75f06da1f9fc1827712 (diff) |
Merge branch 't/hurdsig-global-dispositions' into refs/top-bases/t/hurdsig-SA_SIGINFO
Diffstat (limited to 'hurd/lookup-at.c')
-rw-r--r-- | hurd/lookup-at.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/hurd/lookup-at.c b/hurd/lookup-at.c index 3528ba8ac3..deddc2264c 100644 --- a/hurd/lookup-at.c +++ b/hurd/lookup-at.c @@ -1,5 +1,5 @@ /* Lookup helper function for Hurd implementation of *at functions. - Copyright (C) 2006-2016 Free Software Foundation, Inc. + Copyright (C) 2006-2018 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -29,16 +29,9 @@ __file_name_lookup_at (int fd, int at_flags, error_t err; file_t result; - if ((at_flags & AT_SYMLINK_FOLLOW) && (at_flags & AT_SYMLINK_NOFOLLOW)) - return (__hurd_fail (EINVAL), MACH_PORT_NULL); - - flags |= (at_flags & AT_SYMLINK_NOFOLLOW) ? O_NOLINK : 0; - at_flags &= ~AT_SYMLINK_NOFOLLOW; - if (at_flags & AT_SYMLINK_FOLLOW) - flags &= ~O_NOLINK; - at_flags &= ~AT_SYMLINK_FOLLOW; - if (at_flags != 0) - return (__hurd_fail (EINVAL), MACH_PORT_NULL); + err = __hurd_at_flags (&at_flags, &flags); + if (err) + return (__hurd_fail (err), MACH_PORT_NULL); if (fd == AT_FDCWD || file_name[0] == '/') return __file_name_lookup (file_name, flags, mode); |