diff options
-rw-r--r-- | include/ctype.h | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/include/ctype.h b/include/ctype.h index 19d9f35f5..78c839976 100644 --- a/include/ctype.h +++ b/include/ctype.h @@ -37,25 +37,31 @@ __BEGIN_DECLS +#ifndef _ISbit /* These are all the characteristics of characters. If there get to be more than 16 distinct characteristics, __ctype_mask_t will need to be adjusted. */ +# define _ISbit(bit) (1 << (bit)) + enum { - _ISupper = 1 << 0, /* UPPERCASE. */ - _ISlower = 1 << 1, /* lowercase. */ - _ISalpha = 1 << 2, /* Alphabetic. */ - _ISdigit = 1 << 3, /* Numeric. */ - _ISxdigit = 1 << 4, /* Hexadecimal numeric. */ - _ISspace = 1 << 5, /* Whitespace. */ - _ISprint = 1 << 6, /* Printing. */ - _ISgraph = 1 << 7, /* Graphical. */ - _ISblank = 1 << 8, /* Blank (usually SPC and TAB). */ - _IScntrl = 1 << 9, /* Control character. */ - _ISpunct = 1 << 10, /* Punctuation. */ - _ISalnum = 1 << 11, /* Alphanumeric. */ + _ISupper = _ISbit (0), /* UPPERCASE. */ + _ISlower = _ISbit (1), /* lowercase. */ + _ISalpha = _ISbit (2), /* Alphabetic. */ + _ISdigit = _ISbit (3), /* Numeric. */ + _ISxdigit = _ISbit (4), /* Hexadecimal numeric. */ + _ISspace = _ISbit (5), /* Whitespace. */ + _ISprint = _ISbit (6), /* Printing. */ + _ISgraph = _ISbit (7), /* Graphical. */ + _ISblank = _ISbit (8), /* Blank (usually SPC and TAB). */ + _IScntrl = _ISbit (9), /* Control character. */ + _ISpunct = _ISbit (10), /* Punctuation. */ + _ISalnum = _ISbit (11) /* Alphanumeric. */ }; +#else +#error _ISbit already defined! +#endif /* ! _ISbit */ /* __ctype_XXX_t types and __UCLIBC_CTYPE_x_TBL_OFFSET constants */ #include <bits/uClibc_touplow.h> |