summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdlib/strtoul.c
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1996-07-27 10:45:23 +0000
committerderaadt <deraadt@openbsd.org>1996-07-27 10:45:23 +0000
commit66ce1e86df35ce74f4af8525b6ce95e6d4692c96 (patch)
treebaad9569f607c7c250bae9dde71901ba76204e19 /lib/libc/stdlib/strtoul.c
parentfix from bde; Clean up the FP stack before returning. The i387 exp() (diff)
downloadwireguard-openbsd-66ce1e86df35ce74f4af8525b6ce95e6d4692c96.tar.xz
wireguard-openbsd-66ce1e86df35ce74f4af8525b6ce95e6d4692c96.zip
be very careful in case of signed chars
Diffstat (limited to 'lib/libc/stdlib/strtoul.c')
-rw-r--r--lib/libc/stdlib/strtoul.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libc/stdlib/strtoul.c b/lib/libc/stdlib/strtoul.c
index 1522bec5845..9d45c5cb9e6 100644
--- a/lib/libc/stdlib/strtoul.c
+++ b/lib/libc/stdlib/strtoul.c
@@ -33,7 +33,7 @@
#if defined(LIBC_SCCS) && !defined(lint)
/*static char *sccsid = "from: @(#)strtoul.c 5.3 (Berkeley) 2/23/91";*/
-static char *rcsid = "$Id: strtoul.c,v 1.2 1995/12/21 14:58:38 deraadt Exp $";
+static char *rcsid = "$Id: strtoul.c,v 1.3 1996/07/27 10:45:25 deraadt Exp $";
#endif /* LIBC_SCCS and not lint */
#include <ctype.h>
@@ -63,7 +63,7 @@ strtoul(nptr, endptr, base)
*/
s = nptr;
do {
- c = *s++;
+ c = (unsigned char) *s++;
} while (isspace(c));
if (c == '-') {
neg = 1;
@@ -84,7 +84,7 @@ strtoul(nptr, endptr, base)
cutoff = ULONG_MAX / (unsigned long)base;
cutlim = ULONG_MAX % (unsigned long)base;
- for (acc = 0, any = 0;; c = *s++) {
+ for (acc = 0, any = 0;; c = (unsigned char) *s++) {
if (isdigit(c))
c -= '0';
else if (isalpha(c))