libbb/u_signal_names.c: don't check errno after bb_strtou
Since we're comparing the return value to a smallish integer anyway, we might as well use that bb_strtou() returns UINT_MAX for malformed input. Referencing errno is kinda bloaty on glibc. While NSIG is not in POSIX, we do already rely on it being defined, compile-time const and smallish, since arrays in struct globals_misc are defined in terms of it. function old new delta get_signum 312 286 -26 Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
571e525a14
commit
656ca7bdd9
@ -153,8 +153,12 @@ int FAST_FUNC get_signum(const char *name)
|
|||||||
{
|
{
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
||||||
|
/* bb_strtou returns UINT_MAX on error. NSIG is smaller
|
||||||
|
* than UINT_MAX on any sane Unix. Hence no need
|
||||||
|
* to check errno after bb_strtou().
|
||||||
|
*/
|
||||||
i = bb_strtou(name, NULL, 10);
|
i = bb_strtou(name, NULL, 10);
|
||||||
if (!errno && i < NSIG) /* for shells, we allow 0 too */
|
if (i < NSIG) /* for shells, we allow 0 too */
|
||||||
return i;
|
return i;
|
||||||
if (strncasecmp(name, "SIG", 3) == 0)
|
if (strncasecmp(name, "SIG", 3) == 0)
|
||||||
name += 3;
|
name += 3;
|
||||||
@ -204,7 +208,7 @@ int FAST_FUNC get_signum(const char *name)
|
|||||||
return sigrtmin;
|
return sigrtmin;
|
||||||
if (name[5] == '+') {
|
if (name[5] == '+') {
|
||||||
i = bb_strtou(name + 6, NULL, 10);
|
i = bb_strtou(name + 6, NULL, 10);
|
||||||
if (!errno && i <= sigrtmax - sigrtmin)
|
if (i <= sigrtmax - sigrtmin)
|
||||||
return sigrtmin + i;
|
return sigrtmin + i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -213,7 +217,7 @@ int FAST_FUNC get_signum(const char *name)
|
|||||||
return sigrtmax;
|
return sigrtmax;
|
||||||
if (name[5] == '-') {
|
if (name[5] == '-') {
|
||||||
i = bb_strtou(name + 6, NULL, 10);
|
i = bb_strtou(name + 6, NULL, 10);
|
||||||
if (!errno && i <= sigrtmax - sigrtmin)
|
if (i <= sigrtmax - sigrtmin)
|
||||||
return sigrtmax - i;
|
return sigrtmax - i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user