From 7237972022d60707f969c8193f278aa540a65ff0 Mon Sep 17 00:00:00 2001 From: Maciej Zygmanowski Date: Sun, 22 Aug 2021 13:29:57 +0200 Subject: [PATCH] LibC: Support getsignalbyname() with full signal name This allows e.g. to use `kill` with names like -SIGKILL, not only -KILL. --- Userland/Libraries/LibC/signal.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibC/signal.cpp b/Userland/Libraries/LibC/signal.cpp index 1ecfddc2bf..c6f213268c 100644 --- a/Userland/Libraries/LibC/signal.cpp +++ b/Userland/Libraries/LibC/signal.cpp @@ -197,9 +197,10 @@ static_assert(sizeof(sys_signame) == sizeof(const char*) * NSIG); int getsignalbyname(const char* name) { VERIFY(name); + StringView name_sv(name); for (size_t i = 0; i < NSIG; ++i) { - auto* signal_name = sys_signame[i]; - if (!strcmp(signal_name, name)) + auto signal_name = StringView(sys_signame[i]); + if (signal_name == name_sv || (name_sv.starts_with("SIG") && signal_name == name_sv.substring_view(3))) return i; } errno = EINVAL;