X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbasic%2Fsignal-util.c;h=8e83bfcf0d960c433406fc9717bc49c8604a8d72;hp=ee4c7efdf0d2c9ce4d5d90ef34b37348d42d324e;hb=d93247127eb2e073a6d3b5bcc67bcc4048d674fe;hpb=da2587d5154e11d4e643e326793f3ce2cc48dee6 diff --git a/src/basic/signal-util.c b/src/basic/signal-util.c index ee4c7efdf..8e83bfcf0 100644 --- a/src/basic/signal-util.c +++ b/src/basic/signal-util.c @@ -1,5 +1,3 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - /*** This file is part of systemd. @@ -19,11 +17,16 @@ along with systemd; If not, see . ***/ +#include +#include +#include + +#include "macro.h" #include "parse-util.h" #include "signal-util.h" +#include "stdio-util.h" #include "string-table.h" #include "string-util.h" -#include "util.h" int reset_all_signal_handlers(void) { static const struct sigaction sa = { @@ -117,7 +120,6 @@ int ignore_signals(int sig, ...) { return r; } -#if 0 /// UNNEEDED by elogind int default_signals(int sig, ...) { static const struct sigaction sa = { @@ -134,7 +136,6 @@ int default_signals(int sig, ...) { return r; } -#endif // 0 static int sigset_add_many_ap(sigset_t *ss, va_list ap) { int sig, r = 0; @@ -234,9 +235,9 @@ const char *signal_to_string(int signo) { return name; if (signo >= SIGRTMIN && signo <= SIGRTMAX) - snprintf(buf, sizeof(buf), "RTMIN+%d", signo - SIGRTMIN); + xsprintf(buf, "RTMIN+%d", signo - SIGRTMIN); else - snprintf(buf, sizeof(buf), "%d", signo); + xsprintf(buf, "%d", signo); return buf; } @@ -256,7 +257,7 @@ int signal_from_string(const char *s) { } if (safe_atou(s, &u) >= 0) { signo = (int) u + offset; - if (signo > 0 && signo < _NSIG) + if (SIGNAL_VALID(signo)) return signo; } return -EINVAL;