Date: Wed, 11 Jun 2025 23:16:41 GMT From: Warner Losh <imp@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: b826e88d38c1 - main - fstat: Use POSIX str2sig(3) Message-ID: <202506112316.55BNGfcP046247@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b826e88d38c163528aa1b091294a6f4169f0309e commit b826e88d38c163528aa1b091294a6f4169f0309e Author: Ricardo Branco <rbranco@suse.de> AuthorDate: 2025-05-10 21:43:47 +0000 Commit: Warner Losh <imp@FreeBSD.org> CommitDate: 2025-06-11 23:16:22 +0000 fstat: Use POSIX str2sig(3) Reviewed by: imp, kib, des, jilles Pull Request: https://github.com/freebsd/freebsd-src/pull/1696 --- usr.bin/fstat/fuser.c | 34 +++------------------------------- 1 file changed, 3 insertions(+), 31 deletions(-) diff --git a/usr.bin/fstat/fuser.c b/usr.bin/fstat/fuser.c index 2e2befde6392..c38a520d4ce3 100644 --- a/usr.bin/fstat/fuser.c +++ b/usr.bin/fstat/fuser.c @@ -43,7 +43,6 @@ #include <signal.h> #include <stdio.h> #include <stdlib.h> -#include <string.h> #include <sysexits.h> #include <unistd.h> @@ -108,7 +107,6 @@ struct reqfile { static int flags = 0; /* Option flags. */ static void printflags(struct consumer *consumer); -static int str2sig(const char *str); static void usage(void) __dead2; static int addfile(const char *path, struct reqfile *reqfile); static void dofiles(struct procstat *procstat, struct kinfo_proc *kp, @@ -164,7 +162,7 @@ do_fuser(int argc, char *argv[]) struct kinfo_proc *procs; struct procstat *procstat; struct reqfile *reqfiles; - char *ep, *nlistf, *memf; + char *nlistf, *memf; int ch, sig; unsigned int i, cnt, nfiles; @@ -199,17 +197,8 @@ do_fuser(int argc, char *argv[]) flags |= KFLAG; break; case 's': - if (isdigit(*optarg)) { - sig = strtol(optarg, &ep, 10); - if (*ep != '\0' || sig < 0 || sig >= sys_nsig) - errx(EX_USAGE, "illegal signal number" ": %s", - optarg); - } else { - sig = str2sig(optarg); - if (sig < 0) - errx(EX_USAGE, "illegal signal name: " - "%s", optarg); - } + if (str2sig(optarg, &sig) != 0) + errx(EX_USAGE, "invalid signal: %s", optarg); break; case 'h': /* PASSTHROUGH */ @@ -348,20 +337,3 @@ dofiles(struct procstat *procstat, struct kinfo_proc *kp, } procstat_freefiles(procstat, head); } - -/* - * Returns signal number for it's string representation. - */ -static int -str2sig(const char *str) -{ - int i; - - if (!strncasecmp(str, "SIG", 3)) - str += 3; - for (i = 1; i < sys_nsig; i++) { - if (!strcasecmp(sys_signame[i], str)) - return (i); - } - return (-1); -}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202506112316.55BNGfcP046247>