changeset 1043:4d6f490e09f7

(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.
author Jim Meyering <jim@meyering.net>
date Sun, 21 Sep 1997 13:22:20 +0000
parents 87f4d23ce8eb
children e00310bee260
files lib/strtol.c
diffstat 1 files changed, 8 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/lib/strtol.c
+++ b/lib/strtol.c
@@ -129,12 +129,17 @@
 # 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__