X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fexit-status.c;h=942ac86128be814a384be4801d1dc3c77df938b9;hb=3e2d435b3d2247a60d6def932d28a4856566a7d7;hp=ef2d63f57de4362d15b4c5525819a8786cfb568d;hpb=d450b6f2a9dd8a7fb14e9f8f771ddd70de7afc5e;p=elogind.git diff --git a/src/shared/exit-status.c b/src/shared/exit-status.c index ef2d63f57..942ac8612 100644 --- a/src/shared/exit-status.c +++ b/src/shared/exit-status.c @@ -113,9 +113,6 @@ const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level) { case EXIT_STDERR: return "STDERR"; - case EXIT_TCPWRAP: - return "TCPWRAP"; - case EXIT_PAM: return "PAM"; @@ -130,6 +127,27 @@ const char* exit_status_to_string(ExitStatus status, ExitStatusLevel level) { case EXIT_SECCOMP: return "SECCOMP"; + + case EXIT_SELINUX_CONTEXT: + return "SELINUX_CONTEXT"; + + case EXIT_PERSONALITY: + return "PERSONALITY"; + + case EXIT_APPARMOR_PROFILE: + return "APPARMOR"; + + case EXIT_ADDRESS_FAMILIES: + return "ADDRESS_FAMILIES"; + + case EXIT_RUNTIME_DIRECTORY: + return "RUNTIME_DIRECTORY"; + + case EXIT_CHOWN: + return "CHOWN"; + + case EXIT_MAKE_STARTER: + return "MAKE_STARTER"; } } @@ -165,7 +183,7 @@ bool is_clean_exit(int code, int status, ExitStatusSet *success_status) { if (code == CLD_EXITED) return status == 0 || (success_status && - set_contains(success_status->code, INT_TO_PTR(status))); + set_contains(success_status->status, INT_TO_PTR(status))); /* If a daemon does not implement handlers for some of the * signals that's not considered an unclean shutdown */ @@ -191,19 +209,10 @@ bool is_clean_exit_lsb(int code, int status, ExitStatusSet *success_status) { (status == EXIT_NOTINSTALLED || status == EXIT_NOTCONFIGURED); } -int parse_show_status(const char *v, ShowStatus *ret) { - int r; +void exit_status_set_free(ExitStatusSet *x) { + assert(x); - assert(v); - assert(ret); - - if (streq(v, "auto")) { - *ret = SHOW_STATUS_AUTO; - return 0; - } - r = parse_boolean(v); - if (r < 0) - return r; - *ret = r ? SHOW_STATUS_YES : SHOW_STATUS_NO; - return 0; + set_free(x->status); + set_free(x->signal); + x->status = x->signal = NULL; }