mirror of
https://github.com/sheumann/hush.git
synced 2024-11-05 06:07:00 +00:00
libbb/procps.c: make fast_strtoul_10() stop on '\n' too
This time for real :) Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
cd09e81520
commit
62c006d508
@ -127,11 +127,11 @@ static unsigned long fast_strtoul_16(char **endptr)
|
|||||||
char *str = *endptr;
|
char *str = *endptr;
|
||||||
unsigned long n = 0;
|
unsigned long n = 0;
|
||||||
|
|
||||||
/* need to stop on both ' ' and '\n' */
|
/* Need to stop on both ' ' and '\n' */
|
||||||
while ((c = *str++) > ' ') {
|
while ((c = *str++) > ' ') {
|
||||||
c = ((c|0x20) - '0');
|
c = ((c|0x20) - '0');
|
||||||
if (c > 9)
|
if (c > 9)
|
||||||
// c = c + '0' - 'a' + 10:
|
/* c = c + '0' - 'a' + 10: */
|
||||||
c = c - ('a' - '0' - 10);
|
c = c - ('a' - '0' - 10);
|
||||||
n = n*16 + c;
|
n = n*16 + c;
|
||||||
}
|
}
|
||||||
@ -144,11 +144,12 @@ static unsigned long fast_strtoul_16(char **endptr)
|
|||||||
/* We cut a lot of corners here for speed */
|
/* We cut a lot of corners here for speed */
|
||||||
static unsigned long fast_strtoul_10(char **endptr)
|
static unsigned long fast_strtoul_10(char **endptr)
|
||||||
{
|
{
|
||||||
char c;
|
unsigned char c;
|
||||||
char *str = *endptr;
|
char *str = *endptr;
|
||||||
unsigned long n = *str - '0';
|
unsigned long n = *str - '0';
|
||||||
|
|
||||||
while ((c = *++str) != ' ')
|
/* Need to stop on both ' ' and '\n' */
|
||||||
|
while ((c = *++str) > ' ')
|
||||||
n = n*10 + (c - '0');
|
n = n*10 + (c - '0');
|
||||||
|
|
||||||
*endptr = str + 1; /* We skip trailing space! */
|
*endptr = str + 1; /* We skip trailing space! */
|
||||||
|
Loading…
Reference in New Issue
Block a user