From dedf0f34ad1ce31b3b1f05806aad2ba3dda7eb74 Mon Sep 17 00:00:00 2001 From: "Christian S.J. Peron" Date: Fri, 17 Jan 2014 03:30:24 +0000 Subject: [PATCH] fix a regression introduced in r237618 that would result in killall confusing killall -INT with killall -I (interactive confirmation) which resulted in the wrong signal (TERM) being delivered to the process(s). Discussed with: delphij MFC after: 2 weeks --- usr.bin/killall/killall.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/usr.bin/killall/killall.c b/usr.bin/killall/killall.c index dd22a83e6f22..13dc55688cd3 100644 --- a/usr.bin/killall/killall.c +++ b/usr.bin/killall/killall.c @@ -144,9 +144,6 @@ main(int ac, char **av) if (**av == '-') { ++*av; switch (**av) { - case 'I': - Iflag = 1; - break; case 'j': ++*av; if (**av == '\0') { @@ -213,6 +210,15 @@ main(int ac, char **av) case 'z': zflag++; break; + case 'I': + /* + * NB: do not confuse -INT with -I + */ + if (strncmp(*av, "INT", 3) != 0) { + Iflag = 1; + break; + } + /* FALLTHROUGH */ default: if (isalpha((unsigned char)**av)) { if (strncasecmp(*av, "SIG", 3) == 0)