diff options
author | ache <ache@FreeBSD.org> | 2001-11-28 06:06:27 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 2001-11-28 06:06:27 +0000 |
commit | 3a5ef923430736453c2e3800277c2558c14e0f25 (patch) | |
tree | 7fda1da266f5c4d254c366b8856290fa9ad01569 /lib/libc/stdlib/strtoumax.c | |
parent | f320d6c29a634f799998ac539ecc1fc1f261e4c5 (diff) | |
download | FreeBSD-src-3a5ef923430736453c2e3800277c2558c14e0f25.zip FreeBSD-src-3a5ef923430736453c2e3800277c2558c14e0f25.tar.gz |
Don't ever assume that isdigit() is always subset of isxdigit()
Diffstat (limited to 'lib/libc/stdlib/strtoumax.c')
-rw-r--r-- | lib/libc/stdlib/strtoumax.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libc/stdlib/strtoumax.c b/lib/libc/stdlib/strtoumax.c index ea59245..bdcfbd7 100644 --- a/lib/libc/stdlib/strtoumax.c +++ b/lib/libc/stdlib/strtoumax.c @@ -90,7 +90,7 @@ strtoumax(nptr, endptr, base) cutoff = UINTMAX_MAX / base; cutlim = UINTMAX_MAX % base; for ( ; ; c = *s++) { - if (isxdigit(c)) + if (isdigit(c) || (base == 16 && isxdigit(c))) c = digittoint(c); else if (isascii(c) && isalpha(c)) c -= isupper(c) ? 'A' - 10 : 'a' - 10; |