diff options
author | Andreas Gruenbacher <agruen@linbit.com> | 2011-05-25 18:18:53 +0200 |
---|---|---|
committer | Andreas Gruenbacher <agruen@linbit.com> | 2011-05-27 14:05:48 +0200 |
commit | 3d80b8fa04cdc7fc89c49abff738bdbedb8ba758 (patch) | |
tree | b006fff9ec663a2bd4adbd00666cfe3b3f2b9a98 | |
parent | 088bcbb414116ba7e0432e4cb90a8102ea14a959 (diff) | |
download | acl-3d80b8fa04cdc7fc89c49abff738bdbedb8ba758.tar.gz |
walk_tree: do not follow symlink to directory with -h
Keep libmisc/walk_tree.c in sync with the version in the attr package;
no change in functionality for getfacl or setfacl.
Remove a related dead line of code from setfacl.
-rw-r--r-- | libmisc/walk_tree.c | 3 | ||||
-rw-r--r-- | setfacl/setfacl.c | 1 |
2 files changed, 2 insertions, 2 deletions
diff --git a/libmisc/walk_tree.c b/libmisc/walk_tree.c index 30ff92a..2be9d47 100644 --- a/libmisc/walk_tree.c +++ b/libmisc/walk_tree.c @@ -60,7 +60,8 @@ static int walk_tree_rec(const char *path, int walk_flags, void *), void *arg, int depth) { int follow_symlinks = (walk_flags & WALK_TREE_LOGICAL) || - (!(walk_flags & WALK_TREE_PHYSICAL) && + ((walk_flags & WALK_TREE_DEREFERENCE) && + !(walk_flags & WALK_TREE_PHYSICAL) && depth == 0); int have_dir_stat = 0, flags = walk_flags, err; struct entry_handle dir; diff --git a/setfacl/setfacl.c b/setfacl/setfacl.c index 4f4ff27..81062a6 100644 --- a/setfacl/setfacl.c +++ b/setfacl/setfacl.c @@ -596,7 +596,6 @@ int main(int argc, char *argv[]) case 'P': /* do not follow symlinks */ walk_flags |= WALK_TREE_PHYSICAL; - walk_flags |= WALK_TREE_PHYSICAL; walk_flags &= ~(WALK_TREE_LOGICAL | WALK_TREE_DEREFERENCE | WALK_TREE_DEREFERENCE_TOPLEVEL); break; |