mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
fs-util: also add an at_flags_normalize_follow() helper
This is the reverse of at_flags_normalize_follow()
This commit is contained in:
@@ -172,3 +172,12 @@ static inline int at_flags_normalize_nofollow(int flags) {
|
||||
flags |= AT_SYMLINK_NOFOLLOW;
|
||||
return flags;
|
||||
}
|
||||
|
||||
static inline int at_flags_normalize_follow(int flags) {
|
||||
if (FLAGS_SET(flags, AT_SYMLINK_NOFOLLOW)) {
|
||||
assert(!FLAGS_SET(flags, AT_SYMLINK_FOLLOW));
|
||||
flags &= ~AT_SYMLINK_NOFOLLOW;
|
||||
} else
|
||||
flags |= AT_SYMLINK_FOLLOW;
|
||||
return flags;
|
||||
}
|
||||
|
||||
@@ -298,7 +298,7 @@ int inode_same_at(int fda, const char *filea, int fdb, const char *fileb, int fl
|
||||
flags |= AT_EMPTY_PATH;
|
||||
}
|
||||
|
||||
int ntha_flags = (flags & AT_EMPTY_PATH) | (FLAGS_SET(flags, AT_SYMLINK_NOFOLLOW) ? 0 : AT_SYMLINK_FOLLOW);
|
||||
int ntha_flags = at_flags_normalize_follow(flags) & (AT_EMPTY_PATH|AT_SYMLINK_FOLLOW);
|
||||
_cleanup_free_ struct file_handle *ha = NULL, *hb = NULL;
|
||||
int mntida = -1, mntidb = -1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user