/* FUNCTION <>, <>---hexadecimal digit predicate INDEX isxdigit INDEX isxdigit_l SYNOPSIS #include int isxdigit(int <[c]>); #include int isxdigit_l(int <[c]>, locale_t <[locale]>); DESCRIPTION <> is a macro which classifies singlebyte charset values by table lookup. It is a predicate returning non-zero for hexadecimal digits, and <<0>> for other characters. It is defined only if <[c]> is representable as an unsigned char or if <[c]> is EOF. <> is like <> but performs the check based on the locale specified by the locale object locale. If <[locale]> is LC_GLOBAL_LOCALE or not a valid locale object, the behaviour is undefined. You can use a compiled subroutine instead of the macro definition by undefining the macro using `<<#undef isxdigit>>' or `<<#undef isxdigit_l>>'. RETURNS <>, <> return non-zero if <[c]> is a hexadecimal digit (<<0>>--<<9>>, <>--<>, or <>--<>). PORTABILITY <> is ANSI C. <> is POSIX-1.2008. No supporting OS subroutines are required. */ #include <_ansi.h> #include #undef isxdigit int isxdigit (int c) { return(__CTYPE_PTR[c+1] & ((_X)|(_N))); }