Formerly ../ctype/ctype.h.~4~
authorroland <roland>
Thu, 18 Jul 1991 09:24:18 +0000 (09:24 +0000)
committerroland <roland>
Thu, 18 Jul 1991 09:24:18 +0000 (09:24 +0000)
ctype/ctype.h

index 3321098..d418857 100644 (file)
@@ -27,8 +27,9 @@ Cambridge, MA 02139, USA.  */
 
 /* These are all the characteristics of characters.  All the
    interdependencies (such as that an alphabetic is an uppercase or a
-   lowercase) are here.  If there get to be more than CHAR_BIT distinct
-   characteristics, many things must be changed that use `unsigned char's.  */
+   lowercase) are here.  If there get to be more than
+   (sizeof (unsigned short int) * CHAR_BIT) distinct characteristics,
+   many things must be changed that use `unsigned short int's.  */
 enum
   {
     _ISupper   = 1 << 0,               /* UPPERCASE.  */
@@ -39,6 +40,7 @@ enum
     _IShex     = 1 << 5,               /* A - F, a - f.  */
     _ISpunct   = 1 << 6,               /* Punctuation.  */
     _NOgraph   = 1 << 7,               /* Printing but nongraphical.  */
+    _ISblank   = 1 << 8,               /* Blank (usually SPC and TAB).  */
     _ISalpha   = _ISupper | _ISlower,  /* Alphabetic.  */
     _ISalnum   = _ISalpha | _ISdigit,  /* Alphanumeric.  */
     _ISxdigit  = _ISdigit | _IShex,    /* Hexadecimal numeric.  */
@@ -48,12 +50,11 @@ enum
 
 /* These are defined in localeinfo.c.
    The declarations here must match those in localeinfo.h.  */
-extern CONST unsigned char *__ctype_b;         /* Characteristics.  */
+extern CONST unsigned short int *__ctype_b;    /* Characteristics.  */
 extern CONST unsigned char *__ctype_tolower;   /* Case conversions.  */
 extern CONST unsigned char *__ctype_toupper;   /* Case conversions.  */
 
-#define        __uc(c)                 ((unsigned char) (c))
-#define        __isctype(c, type)      (__ctype_b[c] & __uc(type))
+#define        __isctype(c, type)      (__ctype_b[c] & (unsigned short int) type)
 
 #define        __isascii(c)    (((c) & (1 << 7)) == 0)
 #define        __toascii(c)    ((c) & 0x7f)
@@ -81,6 +82,10 @@ __exctype(isspace);
 __exctype(isupper);
 __exctype(isxdigit);
 
+#ifdef __USE_GNU
+__exctype(isblank);
+#endif
+
 
 /* Return the lowercase version of C.  */
 extern int EXFUN(tolower, (int __c));
@@ -120,6 +125,10 @@ __exctype(_tolower);
 #define        isupper(c)      __isctype((c), _ISupper)
 #define        isxdigit(c)     __isctype((c), _ISxdigit)
 
+#ifdef __USE_GNU
+#define        isblank(c)      __isctype((c), _ISblank)
+#endif
+
 #define        tolower(c)      __tolower(c)
 #define        toupper(c)      __toupper(c)