summaryrefslogtreecommitdiffhomepage
path: root/libbb/bb_strtonum.c
diff options
context:
space:
mode:
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2018-10-19 15:25:41 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2018-10-19 15:27:42 +0200
commit3db4e7f84cf795de8559ea0d96eaa491999ccf24 (patch)
tree0260c160e82214f81dc2aeaef7764e4bb0c632ef /libbb/bb_strtonum.c
parent7effa31cd4b5c76d20f63882002eb023f05aaa46 (diff)
printf: fix printing +-prefixed numbers
Thanks to Cristian Ionescu-Idbohrn for noticing. Also fix "%d" ' 42' to skip leading whitespace. function old new delta print_direc 435 454 +19 bb_strtoll 99 103 +4 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 23/0) Total: 23 bytes Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Diffstat (limited to 'libbb/bb_strtonum.c')
-rw-r--r--libbb/bb_strtonum.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libbb/bb_strtonum.c b/libbb/bb_strtonum.c
index 2185017b0..cb70f1053 100644
--- a/libbb/bb_strtonum.c
+++ b/libbb/bb_strtonum.c
@@ -81,7 +81,7 @@ long long FAST_FUNC bb_strtoll(const char *arg, char **endp, int base)
/* Check for the weird "feature":
* a "-" string is apparently a valid "number" for strto[u]l[l]!
* It returns zero and errno is 0! :( */
- first = (arg[0] != '-' ? arg[0] : arg[1]);
+ first = (arg[0] != '-' && arg[0] != '+' ? arg[0] : arg[1]);
if (!isalnum(first)) return ret_ERANGE();
errno = 0;