From 7bb0ee09eb178f88555064568235d033a24e8ffb Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Sun, 21 Sep 1997 13:19:19 +0000 Subject: [PATCH] (IN_CTYPE_DOMAIN): Define. (ISSPACE): Define. (ISDIGIT): Define. (TOLOWER): Define. --- lib/strtod.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/lib/strtod.c b/lib/strtod.c index 69c57a4df..81e9f8a9d 100644 --- a/lib/strtod.c +++ b/lib/strtod.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1992 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,6 +24,17 @@ extern int errno; #endif #include + +#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII)) +# define IN_CTYPE_DOMAIN(c) 1 +#else +# define IN_CTYPE_DOMAIN(c) isascii(c) +#endif + +#define ISSPACE(c) (IN_CTYPE_DOMAIN (c) && isspace (c)) +#define ISDIGIT(c) (IN_CTYPE_DOMAIN (c) && isdigit (c)) +#define TOLOWER(c) (IN_CTYPE_DOMAIN (c) ? tolower(c) : (c)) + #include #if HAVE_FLOAT_H @@ -71,7 +82,7 @@ strtod (nptr, endptr) s = nptr; /* Eat whitespace. */ - while (isspace (*s)) + while (ISSPACE (*s)) ++s; /* Get the sign. */ @@ -85,7 +96,7 @@ strtod (nptr, endptr) exponent = 0; for (;; ++s) { - if (isdigit (*s)) + if (ISDIGIT (*s)) { got_digit = 1; @@ -118,7 +129,7 @@ strtod (nptr, endptr) if (!got_digit) goto noconv; - if (tolower (*s) == 'e') + if (TOLOWER (*s) == 'e') { /* Get the exponent specified after the `e' or `E'. */ int save = errno; -- 2.11.0