diff options
author | Denis Vlasenko | 2008-10-31 00:30:48 +0000 |
---|---|---|
committer | Denis Vlasenko | 2008-10-31 00:30:48 +0000 |
commit | b9b344aa44ba6221edc8f09398325399049bf388 (patch) | |
tree | 0fb8f61e9ec11b39c0fc8e9d9358ca33d5b9c1b4 /procps/kill.c | |
parent | f34cfff2f032ff8e475c97f69ea49a24f94b64f5 (diff) | |
download | busybox-b9b344aa44ba6221edc8f09398325399049bf388.zip busybox-b9b344aa44ba6221edc8f09398325399049bf388.tar.gz |
kill[all[5]]: accept -s SIG too. kill_main: +29 bytes
by Steve Bennett (steveb AT workware.net.au)
Diffstat (limited to 'procps/kill.c')
-rw-r--r-- | procps/kill.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/procps/kill.c b/procps/kill.c index ed659af..1405500 100644 --- a/procps/kill.c +++ b/procps/kill.c @@ -96,10 +96,14 @@ int kill_main(int argc, char **argv) if (arg[0] != '-') goto do_it_now; } - /* -SIG */ - signo = get_signum(&arg[1]); + arg++; /* skip '-' */ + if (argc > 1 && arg[0] == 's' && arg[1] == '\0') { /* -s SIG? */ + argc--; + arg = *++argv; + } /* else it must be -SIG */ + signo = get_signum(arg); if (signo < 0) { /* || signo > MAX_SIGNUM ? */ - bb_error_msg("bad signal name '%s'", &arg[1]); + bb_error_msg("bad signal name '%s'", arg); return EXIT_FAILURE; } arg = *++argv; |