summaryrefslogtreecommitdiff
path: root/libiberty/strtod.c
diff options
context:
space:
mode:
authorZack Weinberg <zack@gcc.gnu.org>2000-12-08 03:00:26 +0000
committerZack Weinberg <zack@gcc.gnu.org>2000-12-08 03:00:26 +0000
commitf6bbde28c477c7c5cb4d6c4d3e561b2d429afccf (patch)
treeb03b87c4d027ec11c1f46fa69792393daa187ec4 /libiberty/strtod.c
parentf3588f1aadd8d52686c3f18f7a07744a33bb4f6d (diff)
safe-ctype.h: New file.
include: * safe-ctype.h: New file. libiberty: * 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). gcc: * Makefile.in (HOST_RTL): Add safe-ctype.o. (safe-ctype.o): New rule. * system.h: Include safe-ctype.h, not ctype.h. No need to wrap ctype macros. * cpphash.h: Zap IStable and related macros. Define is_* in terms of safe-ctype.h macros. * cppinit.c: Delete the IStable and all related code. * tradcpp.c: Delete is_idchar, is_idstart, is_hor_space, and is_space arrays. Delete initialize_char_syntax. Change all references to the above arrays to use macros instead. * tradcpp.h: Define is_idchar, is_idstart, is_space, and is_nvspace in terms of safe_ctype.h's macros. * tradcif.y: is_idchar, is_idstart are macros not arrays. * config/i370/i370.c, config/winnt/dirent.c, config/winnt/fixinc-nt.c, config/winnt/ld.c: Use uppercase ctype macros. If we included ctype.h, include safe-ctype.h instead. * fixinc/fixfixes.c: Use uppercase ctype macros. Don't test ISLOWER(c) before calling TOUPPER(c). * fixinc/fixincl.c (extract_quoted_files): Simplify out some gunk. * fixinc/gnu-regex.c: Include safe-ctype.h, not ctype.h. No need to wrap ctype macros. Don't test ISUPPER(x) before calling TOLOWER(x). gcc/ch: * lex.c: Don't bother checking whether ISUPPER(c) before calling TOLOWER(c). Don't bother checking whether isascii(c) before testing ISSPACE(c); ISSPACE(c) includes '\n'. gcc/f: * Make-lang.in: Link f/fini with safe-ctype.o. * bad.c: Don't test ISUPPER(c) || ISLOWER(c) before calling TOUPPER(c). * com.c: Use TOUPPER, not ffesrc_toupper. * fini.c: Don't test ISALPHA(c) before calling TOUPPER(c)/TOLOWER(c). * intrin.c: Don't test IN_CTYPE_DOMAIN(c). * src.c: Delete ffesrc_toupper_ and ffesrc_tolower_ and their initializing code; use TOUPPER and TOLOWER instead of ffesrc_toupper and ffesrc_tolower. * src.h: Don't declare ffesrc_toupper_ or ffesrc_tolower_. Don't define ffesrc_toupper or ffesrc_tolower. gcc/java: * jvgenmain.c: Use ISPRINT not isascii. From-SVN: r38124
Diffstat (limited to 'libiberty/strtod.c')
-rw-r--r--libiberty/strtod.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libiberty/strtod.c b/libiberty/strtod.c
index c86c73de9b3..b1243acb6b3 100644
--- a/libiberty/strtod.c
+++ b/libiberty/strtod.c
@@ -22,7 +22,7 @@ the resulting executable to be covered by the GNU General Public License.
This exception does not however invalidate any other reasons why
the executable file might be covered by the GNU General Public License. */
-#include <ctype.h>
+#include "safe-ctype.h"
extern double atof ();
@@ -42,7 +42,7 @@ strtod (str, ptr)
p = str;
- while (isspace (*p))
+ while (ISSPACE (*p))
++p;
if (*p == '+' || *p == '-')
@@ -88,10 +88,10 @@ strtod (str, ptr)
}
/* digits, with 0 or 1 periods in it. */
- if (isdigit (*p) || *p == '.')
+ if (ISDIGIT (*p) || *p == '.')
{
int got_dot = 0;
- while (isdigit (*p) || (!got_dot && *p == '.'))
+ while (ISDIGIT (*p) || (!got_dot && *p == '.'))
{
if (*p == '.')
got_dot = 1;
@@ -105,9 +105,9 @@ strtod (str, ptr)
i = 1;
if (p[i] == '+' || p[i] == '-')
++i;
- if (isdigit (p[i]))
+ if (ISDIGIT (p[i]))
{
- while (isdigit (p[i]))
+ while (ISDIGIT (p[i]))
++i;
*ptr = p + i;
return atof (str);