summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-09-08 19:14:10 +0200
committerLennart Poettering <lennart@poettering.net>2015-09-09 08:20:20 +0200
commit3cc2aff1abff9e34f9fec282d970204dc1eab6f1 (patch)
tree39d4b5f8f9980aeacaf64b4c3078f51a46a3b63e
parent7f6e12b03300ba3e473ce6b85d823fc0375b335e (diff)
tree-wide: don't do assignments within if checks
Turn this: if ((r = foo()) < 0) { ... into this: r = foo(); if (r < 0) { ...
-rw-r--r--coccinelle/no-if-assignments.cocci20
-rw-r--r--src/ask-password/ask-password.c8
-rw-r--r--src/basic/fdset.c6
-rw-r--r--src/core/execute.c18
-rw-r--r--src/core/socket.c4
-rw-r--r--src/core/transaction.c6
-rw-r--r--src/initctl/initctl.c7
-rw-r--r--src/test/test-loopback.c3
8 files changed, 53 insertions, 19 deletions
diff --git a/coccinelle/no-if-assignments.cocci b/coccinelle/no-if-assignments.cocci
new file mode 100644
index 0000000000..9f63e90337
--- /dev/null
+++ b/coccinelle/no-if-assignments.cocci
@@ -0,0 +1,20 @@
+@@
+expression p, q;
+identifier r;
+statement s;
+@@
+- if ((r = q) < p)
+- s
++ r = q;
++ if (r < p)
++ s
+@@
+expression p, q;
+identifier r;
+statement s;
+@@
+- if ((r = q) >= p)
+- s
++ r = q;
++ if (r >= p)
++ s
diff --git a/src/ask-password/ask-password.c b/src/ask-password/ask-password.c
index 2cbed293ba..abfd545c79 100644
--- a/src/ask-password/ask-password.c
+++ b/src/ask-password/ask-password.c
@@ -156,7 +156,9 @@ int main(int argc, char *argv[]) {
if (arg_use_tty && isatty(STDIN_FILENO)) {
char *password = NULL;
- if ((r = ask_password_tty(arg_message, timeout, arg_echo, NULL, &password)) >= 0) {
+ r = ask_password_tty(arg_message, timeout, arg_echo, NULL,
+ &password);
+ if (r >= 0) {
puts(password);
free(password);
}
@@ -164,7 +166,9 @@ int main(int argc, char *argv[]) {
} else {
char **l;
- if ((r = ask_password_agent(arg_message, arg_icon, arg_id, timeout, arg_echo, arg_accept_cached, &l)) >= 0) {
+ r = ask_password_agent(arg_message, arg_icon, arg_id, timeout,
+ arg_echo, arg_accept_cached, &l);
+ if (r >= 0) {
char **p;
STRV_FOREACH(p, l) {
diff --git a/src/basic/fdset.c b/src/basic/fdset.c
index a4823e6659..d70fe156a2 100644
--- a/src/basic/fdset.c
+++ b/src/basic/fdset.c
@@ -201,9 +201,11 @@ int fdset_cloexec(FDSet *fds, bool b) {
assert(fds);
- SET_FOREACH(p, MAKE_SET(fds), i)
- if ((r = fd_cloexec(PTR_TO_FD(p), b)) < 0)
+ SET_FOREACH(p, MAKE_SET(fds), i) {
+ r = fd_cloexec(PTR_TO_FD(p), b);
+ if (r < 0)
return r;
+ }
return 0;
}
diff --git a/src/core/execute.c b/src/core/execute.c
index de5c16bd76..3e20130f0e 100644
--- a/src/core/execute.c
+++ b/src/core/execute.c
@@ -122,7 +122,8 @@ static int shift_fds(int fds[], unsigned n_fds) {
if (fds[i] == i+3)
continue;
- if ((nfd = fcntl(fds[i], F_DUPFD, i+3)) < 0)
+ nfd = fcntl(fds[i], F_DUPFD, i + 3);
+ if (nfd < 0)
return -errno;
safe_close(fds[i]);
@@ -156,14 +157,16 @@ static int flags_fds(const int fds[], unsigned n_fds, bool nonblock) {
for (i = 0; i < n_fds; i++) {
- if ((r = fd_nonblock(fds[i], nonblock)) < 0)
+ r = fd_nonblock(fds[i], nonblock);
+ if (r < 0)
return r;
/* We unconditionally drop FD_CLOEXEC from the fds,
* since after all we want to pass these fds to our
* children */
- if ((r = fd_cloexec(fds[i], false)) < 0)
+ r = fd_cloexec(fds[i], false);
+ if (r < 0)
return r;
}
@@ -315,7 +318,8 @@ static int open_terminal_as(const char *path, mode_t mode, int nfd) {
assert(path);
assert(nfd >= 0);
- if ((fd = open_terminal(path, mode | O_NOCTTY)) < 0)
+ fd = open_terminal(path, mode | O_NOCTTY);
+ if (fd < 0)
return fd;
if (fd != nfd) {
@@ -629,7 +633,8 @@ static int enforce_groups(const ExecContext *context, const char *username, gid_
if (context->group) {
const char *g = context->group;
- if ((r = get_group_creds(&g, &gid)) < 0)
+ r = get_group_creds(&g, &gid);
+ if (r < 0)
return r;
}
@@ -658,7 +663,8 @@ static int enforce_groups(const ExecContext *context, const char *username, gid_
return -ENOMEM;
if (keep_groups) {
- if ((k = getgroups(ngroups_max, gids)) < 0) {
+ k = getgroups(ngroups_max, gids);
+ if (k < 0) {
free(gids);
return -errno;
}
diff --git a/src/core/socket.c b/src/core/socket.c
index 7d3d5eb78a..9db42a0333 100644
--- a/src/core/socket.c
+++ b/src/core/socket.c
@@ -982,7 +982,9 @@ static int fifo_address_create(
goto fail;
}
- if ((fd = open(path, O_RDWR|O_CLOEXEC|O_NOCTTY|O_NONBLOCK|O_NOFOLLOW)) < 0) {
+ fd = open(path,
+ O_RDWR | O_CLOEXEC | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW);
+ if (fd < 0) {
r = -errno;
goto fail;
}
diff --git a/src/core/transaction.c b/src/core/transaction.c
index 090103fbda..b505297e23 100644
--- a/src/core/transaction.c
+++ b/src/core/transaction.c
@@ -464,9 +464,11 @@ static int transaction_verify_order(Transaction *tr, unsigned *generation, sd_bu
g = (*generation)++;
- HASHMAP_FOREACH(j, tr->jobs, i)
- if ((r = transaction_verify_order_one(tr, j, NULL, g, e)) < 0)
+ HASHMAP_FOREACH(j, tr->jobs, i) {
+ r = transaction_verify_order_one(tr, j, NULL, g, e);
+ if (r < 0)
return r;
+ }
return 0;
}
diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c
index 19d6468fcc..087cc2f7d6 100644
--- a/src/initctl/initctl.c
+++ b/src/initctl/initctl.c
@@ -399,13 +399,10 @@ int main(int argc, char *argv[]) {
struct epoll_event event;
int k;
- if ((k = epoll_wait(server.epoll_fd,
- &event, 1,
- TIMEOUT_MSEC)) < 0) {
-
+ k = epoll_wait(server.epoll_fd, &event, 1, TIMEOUT_MSEC);
+ if (k < 0) {
if (errno == EINTR)
continue;
-
log_error_errno(errno, "epoll_wait() failed: %m");
goto fail;
}
diff --git a/src/test/test-loopback.c b/src/test/test-loopback.c
index c03bda4382..e3e5a95add 100644
--- a/src/test/test-loopback.c
+++ b/src/test/test-loopback.c
@@ -31,7 +31,8 @@ int main(int argc, char* argv[]) {
log_open();
log_parse_environment();
- if ((r = loopback_setup()) < 0)
+ r = loopback_setup();
+ if (r < 0)
fprintf(stderr, "loopback: %s\n", strerror(-r));
return 0;