Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.1:kernel-2.6.32
acl
acl-Introduce-new-WALK_TREE_DEREFERENCE_TOPLEVE...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File acl-Introduce-new-WALK_TREE_DEREFERENCE_TOPLEVEL-flag.patch of Package acl
From 1a80c89ee88357137b598fa3357b576933c5746c Mon Sep 17 00:00:00 2001 From: Andreas Gruenbacher <agruen@suse.de> Date: Tue, 23 Jun 2009 00:17:49 +0200 Subject: [PATCH] Introduce new WALK_TREE_DEREFERENCE_TOPLEVEL flag References: bnc#567090 This flag indicates to dereference top-level symlinks. (If non top-level symlinks should be stat()ed as well, the WALK_TREE_DEREFERENCE flag must be specified.) --- include/walk_tree.h | 9 +++++---- libmisc/walk_tree.c | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/walk_tree.h b/include/walk_tree.h index 53a8fc5..9f1ec34 100644 --- a/include/walk_tree.h +++ b/include/walk_tree.h @@ -20,10 +20,11 @@ #ifndef __WALK_TREE_H #define __WALK_TREE_H -#define WALK_TREE_RECURSIVE 0x1 -#define WALK_TREE_PHYSICAL 0x2 -#define WALK_TREE_LOGICAL 0x4 -#define WALK_TREE_DEREFERENCE 0x8 +#define WALK_TREE_RECURSIVE 0x01 +#define WALK_TREE_PHYSICAL 0x02 +#define WALK_TREE_LOGICAL 0x04 +#define WALK_TREE_DEREFERENCE 0x08 +#define WALK_TREE_DEREFERENCE_TOPLEVEL 0x10 #define WALK_TREE_TOPLEVEL 0x100 #define WALK_TREE_SYMLINK 0x200 diff --git a/libmisc/walk_tree.c b/libmisc/walk_tree.c index 2777145..30ff92a 100644 --- a/libmisc/walk_tree.c +++ b/libmisc/walk_tree.c @@ -78,7 +78,9 @@ static int walk_tree_rec(const char *path, int walk_flags, return func(path, NULL, flags | WALK_TREE_FAILED, arg); if (S_ISLNK(st.st_mode)) { flags |= WALK_TREE_SYMLINK; - if (flags & WALK_TREE_DEREFERENCE) { + if ((flags & WALK_TREE_DEREFERENCE) || + ((flags & WALK_TREE_TOPLEVEL) && + (flags & WALK_TREE_DEREFERENCE_TOPLEVEL))) { if (stat(path, &st) != 0) return func(path, NULL, flags | WALK_TREE_FAILED, arg); -- 1.6.4.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor