liyujie
2025-08-28 786ff4f4ca2374bdd9177f2e24b503d43e7a3b93
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
 * Public domain, 2008, Todd C. Miller <Todd.Miller@courtesan.com>
 *
 * $OpenBSD: charclass.h,v 1.1 2008/10/01 23:04:13 millert Exp $
 */
 
/* OPENBSD ORIGINAL: lib/libc/gen/charclass.h */
 
/*
 * POSIX character class support for fnmatch() and glob().
 */
static struct cclass {
   const char *name;
   int (*isctype)(int);
} cclasses[] = {
   { "alnum",    isalnum },
   { "alpha",    isalpha },
   { "blank",    isblank },
   { "cntrl",    iscntrl },
   { "digit",    isdigit },
   { "graph",    isgraph },
   { "lower",    islower },
   { "print",    isprint },
   { "punct",    ispunct },
   { "space",    isspace },
   { "upper",    isupper },
   { "xdigit",    isxdigit },
   { NULL,        NULL }
};
 
#define NCCLASSES    (sizeof(cclasses) / sizeof(cclasses[0]) - 1)