diff options
author | DJ Delorie <dj@redhat.com> | 2000-12-08 16:37:01 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2000-12-08 16:37:01 +0000 |
commit | ac424eb32cfa4618d9c3b58276e950e2cc58c540 (patch) | |
tree | ce31655983ddde8e1e5bee9ddc4b332540e586bb /libiberty/strtol.c | |
parent | 39cd2525463aab63af6a9b111a01fb2b37e1733a (diff) | |
download | fsf-binutils-gdb-ac424eb32cfa4618d9c3b58276e950e2cc58c540.zip fsf-binutils-gdb-ac424eb32cfa4618d9c3b58276e950e2cc58c540.tar.gz fsf-binutils-gdb-ac424eb32cfa4618d9c3b58276e950e2cc58c540.tar.bz2 |
* safe-ctype.c: New file.
* Makefile.in (CFILES): Add safe-ctype.c.
(REQUIRED_OFILES): Add safe-ctype.o.
* argv.c: Define ISBLANK and use it, not isspace.
* basename.c, cplus-dem.c, fnmatch.c, pexecute.c, strtod.c,
strtol.c, strtoul.c: Include safe-ctype.h, not ctype.h. Use
uppercase ctype macros. Don't test ISUPPER(c)/ISLOWER(c)
before calling TOLOWER(c)/TOUPPER(c).
Diffstat (limited to 'libiberty/strtol.c')
-rw-r--r-- | libiberty/strtol.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/libiberty/strtol.c b/libiberty/strtol.c index c05d0dd..7095c72 100644 --- a/libiberty/strtol.c +++ b/libiberty/strtol.c @@ -37,15 +37,11 @@ #ifdef HAVE_SYS_PARAM_H #include <sys/param.h> #endif -#include <ctype.h> #include <errno.h> #ifdef NEED_DECLARATION_ERRNO extern int errno; #endif -#if 0 -#include <stdlib.h> -#endif -#include "ansidecl.h" +#include "safe-ctype.h" /* FIXME: It'd be nice to configure around these, but the include files are too painful. These macros should at least be more portable than hardwired hex @@ -88,7 +84,7 @@ strtol(nptr, endptr, base) */ do { c = *s++; - } while (isspace(c)); + } while (ISSPACE(c)); if (c == '-') { neg = 1; c = *s++; @@ -124,10 +120,10 @@ strtol(nptr, endptr, base) cutlim = cutoff % (unsigned long)base; cutoff /= (unsigned long)base; for (acc = 0, any = 0;; c = *s++) { - if (isdigit(c)) + if (ISDIGIT(c)) c -= '0'; - else if (isalpha(c)) - c -= isupper(c) ? 'A' - 10 : 'a' - 10; + else if (ISALPHA(c)) + c -= ISUPPER(c) ? 'A' - 10 : 'a' - 10; else break; if (c >= base) |