From: Karel Zak Date: Wed, 4 Jan 2023 17:37:26 +0000 (+0100) Subject: lib/signames: ignore locales when searching for signal names X-Git-Tag: v2.39-rc1~204 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4f535ae3be5183aa05be647086e060b2b029904e;p=thirdparty%2Futil-linux.git lib/signames: ignore locales when searching for signal names Fix: https://github.com/util-linux/util-linux/issues/1991 Signed-off-by: Karel Zak --- diff --git a/lib/signames.c b/lib/signames.c index 064776a448..d0d2bff770 100644 --- a/lib/signames.c +++ b/lib/signames.c @@ -15,6 +15,7 @@ #include #include "c.h" +#include "cctype.h" #include "strutils.h" #include "signames.h" @@ -107,9 +108,9 @@ static int rtsig_to_signum(const char *sig) int num, maxi = 0; char *ep = NULL; - if (strncasecmp(sig, "min+", 4) == 0) + if (c_strncasecmp(sig, "min+", 4) == 0) sig += 4; - else if (strncasecmp(sig, "max-", 4) == 0) { + else if (c_strncasecmp(sig, "max-", 4) == 0) { sig += 4; maxi = 1; } @@ -130,16 +131,16 @@ int signame_to_signum(const char *sig) { size_t n; - if (!strncasecmp(sig, "sig", 3)) + if (!c_strncasecmp(sig, "sig", 3)) sig += 3; #ifdef SIGRTMIN /* RT signals */ - if (!strncasecmp(sig, "rt", 2)) + if (!c_strncasecmp(sig, "rt", 2)) return rtsig_to_signum(sig + 2); #endif /* Normal signals */ for (n = 0; n < ARRAY_SIZE(ul_signames); n++) { - if (!strcasecmp(ul_signames[n].name, sig)) + if (!c_strcasecmp(ul_signames[n].name, sig)) return ul_signames[n].val; } return -1;