Mercurial > hg > octave-kai > gnulib-hg
changeset 1042:87f4d23ce8eb
(IN_CTYPE_DOMAIN): Define.
(ISSPACE): Define.
(ISDIGIT): Define.
(TOLOWER): Define.
author | Jim Meyering <jim@meyering.net> |
---|---|
date | Sun, 21 Sep 1997 13:19:19 +0000 |
parents | 2ca05983490f |
children | 4d6f490e09f7 |
files | lib/strtod.c |
diffstat | 1 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ #endif #include <ctype.h> + +#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 <math.h> #if HAVE_FLOAT_H @@ -71,7 +82,7 @@ s = nptr; /* Eat whitespace. */ - while (isspace (*s)) + while (ISSPACE (*s)) ++s; /* Get the sign. */ @@ -85,7 +96,7 @@ exponent = 0; for (;; ++s) { - if (isdigit (*s)) + if (ISDIGIT (*s)) { got_digit = 1; @@ -118,7 +129,7 @@ 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;