ash: allow "trap NUM [SIG]..." syntax

While at it, make get_signum() return -1 for numeric strings >= NSIG.

function                                             old     new   delta
trapcmd                                              292     306     +14
get_signum                                           295     300      +5
builtin_trap                                         413     412      -1
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 19/-1)              Total: 18 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2017-07-25 20:06:17 +02:00
parent f1a5cb0548
commit 86981e3ad2
4 changed files with 10 additions and 5 deletions

View File

@ -188,7 +188,7 @@ int kill_main(int argc UNUSED_PARAM, char **argv)
arg = *++argv;
} /* else it must be -SIG */
signo = get_signum(arg);
if (signo < 0) { /* || signo > MAX_SIGNUM ? */
if (signo < 0) {
bb_error_msg("bad signal name '%s'", arg);
return EXIT_FAILURE;
}