From: Lennart Poettering Date: Thu, 3 Jul 2014 13:50:31 +0000 (+0200) Subject: core: introduce exit_status_set_is_empty() to make things a bit easier to read X-Git-Tag: v215~16 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=55ebf98cbecdad288ba2e3f63f7026280c62f025;p=elogind.git core: introduce exit_status_set_is_empty() to make things a bit easier to read --- diff --git a/src/core/service.c b/src/core/service.c index be88670bd..0b19767d9 100644 --- a/src/core/service.c +++ b/src/core/service.c @@ -335,7 +335,7 @@ static int service_verify(Service *s) { return -EINVAL; } - if (s->type == SERVICE_ONESHOT && !(set_isempty(s->restart_force_status.signal) && set_isempty(s->restart_force_status.status))) { + if (s->type == SERVICE_ONESHOT && !exit_status_set_is_empty(&s->restart_force_status)) { log_error_unit(UNIT(s)->id, "%s has RestartForceStatus= set, which isn't allowed for Type=oneshot services. Refusing.", UNIT(s)->id); return -EINVAL; } diff --git a/src/shared/exit-status.c b/src/shared/exit-status.c index 942ac8612..f3434f7cc 100644 --- a/src/shared/exit-status.c +++ b/src/shared/exit-status.c @@ -216,3 +216,10 @@ void exit_status_set_free(ExitStatusSet *x) { set_free(x->signal); x->status = x->signal = NULL; } + +bool exit_status_set_is_empty(ExitStatusSet *x) { + if (!x) + return true; + + return set_isempty(x->status) && set_isempty(x->signal); +} diff --git a/src/shared/exit-status.h b/src/shared/exit-status.h index 744f2d537..7438508e4 100644 --- a/src/shared/exit-status.h +++ b/src/shared/exit-status.h @@ -97,3 +97,4 @@ bool is_clean_exit(int code, int status, ExitStatusSet *success_status); bool is_clean_exit_lsb(int code, int status, ExitStatusSet *success_status); void exit_status_set_free(ExitStatusSet *x); +bool exit_status_set_is_empty(ExitStatusSet *x);