summaryrefslogtreecommitdiffstats
path: root/libiberty/strtol.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2000-12-08 16:37:01 +0000
committerDJ Delorie <dj@redhat.com>2000-12-08 16:37:01 +0000
commitac424eb32cfa4618d9c3b58276e950e2cc58c540 (patch)
treece31655983ddde8e1e5bee9ddc4b332540e586bb /libiberty/strtol.c
parent39cd2525463aab63af6a9b111a01fb2b37e1733a (diff)
downloadppe42-binutils-ac424eb32cfa4618d9c3b58276e950e2cc58c540.tar.gz
ppe42-binutils-ac424eb32cfa4618d9c3b58276e950e2cc58c540.zip
* 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.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/libiberty/strtol.c b/libiberty/strtol.c
index c05d0dd76a..7095c7254b 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)
OpenPOWER on IntegriCloud