summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/basic/capability-util.h2
-rw-r--r--src/basic/copy.c2
-rw-r--r--src/basic/fs-util.c4
-rw-r--r--src/basic/macro.h2
-rw-r--r--src/basic/process-util.c2
-rw-r--r--src/basic/rm-rf.c2
-rw-r--r--src/core/cgroup.c2
7 files changed, 9 insertions, 7 deletions
diff --git a/src/basic/capability-util.h b/src/basic/capability-util.h
index f1e6560fd..47462d2dc 100644
--- a/src/basic/capability-util.h
+++ b/src/basic/capability-util.h
@@ -43,7 +43,7 @@ static inline void cap_free_charpp(char **p) {
static inline bool cap_test_all(uint64_t caps) {
uint64_t m;
m = (UINT64_C(1) << (cap_last_cap() + 1)) - 1;
- return (caps & m) == m;
+ return FLAGS_SET(caps, m);
}
#if 0 /// UNNEEDED by elogind
diff --git a/src/basic/copy.c b/src/basic/copy.c
index cd5ad4dfa..18eea64a9 100644
--- a/src/basic/copy.c
+++ b/src/basic/copy.c
@@ -81,7 +81,7 @@ static int fd_is_nonblock_pipe(int fd) {
if (flags < 0)
return -errno;
- return (flags & O_NONBLOCK) == O_NONBLOCK ? FD_IS_NONBLOCKING_PIPE : FD_IS_BLOCKING_PIPE;
+ return FLAGS_SET(flags, O_NONBLOCK) ? FD_IS_NONBLOCKING_PIPE : FD_IS_BLOCKING_PIPE;
}
int copy_bytes_full(
diff --git a/src/basic/fs-util.c b/src/basic/fs-util.c
index b7d5c5271..9f17725f1 100644
--- a/src/basic/fs-util.c
+++ b/src/basic/fs-util.c
@@ -617,10 +617,10 @@ int chase_symlinks(const char *path, const char *original_root, unsigned flags,
assert(path);
/* Either the file may be missing, or we return an fd to the final object, but both make no sense */
- if ((flags & (CHASE_NONEXISTENT|CHASE_OPEN)) == (CHASE_NONEXISTENT|CHASE_OPEN))
+ if (FLAGS_SET(flags, CHASE_NONEXISTENT | CHASE_OPEN))
return -EINVAL;
- if ((flags & (CHASE_STEP|CHASE_OPEN)) == (CHASE_STEP|CHASE_OPEN))
+ if (FLAGS_SET(flags, CHASE_STEP | CHASE_OPEN))
return -EINVAL;
if (isempty(path))
diff --git a/src/basic/macro.h b/src/basic/macro.h
index cd3ae8d3a..05f5e9fa6 100644
--- a/src/basic/macro.h
+++ b/src/basic/macro.h
@@ -357,6 +357,8 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) {
#define SET_FLAG(v, flag, b) \
(v) = (b) ? ((v) | (flag)) : ((v) & ~(flag))
+#define FLAGS_SET(v, flags) \
+ (((v) & (flags)) == (flags))
#define CASE_F(X) case X:
#define CASE_F_1(CASE, X) CASE_F(X)
diff --git a/src/basic/process-util.c b/src/basic/process-util.c
index b105add79..bc8e69ff3 100644
--- a/src/basic/process-util.c
+++ b/src/basic/process-util.c
@@ -1371,7 +1371,7 @@ int safe_fork_full(
}
}
- if ((flags & (FORK_NEW_MOUNTNS|FORK_MOUNTNS_SLAVE)) == (FORK_NEW_MOUNTNS|FORK_MOUNTNS_SLAVE)) {
+ if (FLAGS_SET(flags, FORK_NEW_MOUNTNS | FORK_MOUNTNS_SLAVE)) {
/* Optionally, make sure we never propagate mounts to the host. */
diff --git a/src/basic/rm-rf.c b/src/basic/rm-rf.c
index 4ebc5c60a..9143f0066 100644
--- a/src/basic/rm-rf.c
+++ b/src/basic/rm-rf.c
@@ -181,7 +181,7 @@ int rm_rf(const char *path, RemoveFlags flags) {
}
#if 0 /// elogind does not support BTRFS this directly
- if ((flags & (REMOVE_SUBVOLUME|REMOVE_ROOT|REMOVE_PHYSICAL)) == (REMOVE_SUBVOLUME|REMOVE_ROOT|REMOVE_PHYSICAL)) {
+ if (FLAGS_SET(flags, REMOVE_SUBVOLUME | REMOVE_ROOT | REMOVE_PHYSICAL)) {
/* Try to remove as subvolume first */
r = btrfs_subvol_remove(path, BTRFS_REMOVE_RECURSIVE|BTRFS_REMOVE_QUOTA);
if (r >= 0)
diff --git a/src/core/cgroup.c b/src/core/cgroup.c
index 1c8245e0b..bc2af6944 100644
--- a/src/core/cgroup.c
+++ b/src/core/cgroup.c
@@ -1304,7 +1304,7 @@ const char *unit_get_realized_cgroup_path(Unit *u, CGroupMask mask) {
if (u->cgroup_path &&
u->cgroup_realized &&
- (u->cgroup_realized_mask & mask) == mask)
+ FLAGS_SET(u->cgroup_realized_mask, mask))
return u->cgroup_path;
u = UNIT_DEREF(u->slice);