diff options
author | Jim Meyering <jim@meyering.net> | 1997-09-21 13:22:20 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 1997-09-21 13:22:20 +0000 |
commit | 08b6cf0f5319c8349630619d397d5d27f4a9ed29 (patch) | |
tree | 9a5432cc821db11fc1eb3600031198ec624d5abc /lib/strtol.c | |
parent | 7bb0ee09eb178f88555064568235d033a24e8ffb (diff) | |
download | gnulib-08b6cf0f5319c8349630619d397d5d27f4a9ed29.tar.gz |
(IN_CTYPE_DOMAIN): Define.
(ISSPACE): Guard with IN_CTYPE_DOMAIN.
(ISDIGIT): Guard with IN_CTYPE_DOMAIN.
(TOUPPER): Guard with IN_CTYPE_DOMAIN.
From Bruno Haible.
Diffstat (limited to 'lib/strtol.c')
-rw-r--r-- | lib/strtol.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/strtol.c b/lib/strtol.c index 0d3ec1bab7..6d5f4ac4d4 100644 --- a/lib/strtol.c +++ b/lib/strtol.c @@ -129,12 +129,17 @@ extern int errno; # define ISALPHA(Ch) iswalpha (Ch) # define TOUPPER(Ch) towupper (Ch) #else +# 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 L_(Ch) Ch # define UCHAR_TYPE unsigned char # define STRING_TYPE char -# define ISSPACE(Ch) isspace (Ch) -# define ISALPHA(Ch) isalpha (Ch) -# define TOUPPER(Ch) toupper (Ch) +# define ISSPACE(Ch) (IN_CTYPE_DOMAIN (Ch) && isspace (Ch)) +# define ISALPHA(Ch) (IN_CTYPE_DOMAIN (Ch) && isalpha (Ch)) +# define TOUPPER(Ch) (IN_CTYPE_DOMAIN (Ch) ? toupper (Ch) : (Ch)) #endif #ifdef __STDC__ |