diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-25 20:06:17 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-25 20:06:17 +0200 |
commit | 86981e3ad2d03e77d1f668ac1603a041be448dae (patch) | |
tree | b7474eb7ce7117a4bcc883b5da97463dbbd952f6 /libbb | |
parent | f1a5cb0548f647e628032ea8645c0d0d2d07b02f (diff) | |
download | busybox-86981e3ad2d03e77d1f668ac1603a041be448dae.tar.gz |
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>
Diffstat (limited to 'libbb')
-rw-r--r-- | libbb/u_signal_names.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libbb/u_signal_names.c b/libbb/u_signal_names.c index bf984a44e..b82a706d8 100644 --- a/libbb/u_signal_names.c +++ b/libbb/u_signal_names.c @@ -143,7 +143,7 @@ int FAST_FUNC get_signum(const char *name) unsigned i; i = bb_strtou(name, NULL, 10); - if (!errno) + if (!errno && i < NSIG) /* for shells, we allow 0 too */ return i; if (strncasecmp(name, "SIG", 3) == 0) name += 3; |