Annotation of embedaddon/sudo/compat/charclass.h, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * Copyright (c) 2008, 2010 Todd C. Miller <Todd.Miller@courtesan.com>
                      3:  *
                      4:  * Permission to use, copy, modify, and distribute this software for any
                      5:  * purpose with or without fee is hereby granted, provided that the above
                      6:  * copyright notice and this permission notice appear in all copies.
                      7:  *
                      8:  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
                      9:  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
                     10:  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
                     11:  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
                     12:  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
                     13:  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
                     14:  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
                     15:  */
                     16: 
                     17: /*
                     18:  * POSIX character class support for fnmatch() and glob().
                     19:  */
                     20: static struct cclass {
                     21:        const char *name;
                     22:        int (*isctype)(int);
                     23: } cclasses[] = {
                     24:        { "alnum",      isalnum },
                     25:        { "alpha",      isalpha },
                     26:        { "blank",      isblank },
                     27:        { "cntrl",      iscntrl },
                     28:        { "digit",      isdigit },
                     29:        { "graph",      isgraph },
                     30:        { "lower",      islower },
                     31:        { "print",      isprint },
                     32:        { "punct",      ispunct },
                     33:        { "space",      isspace },
                     34:        { "upper",      isupper },
                     35:        { "xdigit",     isxdigit },
                     36:        { NULL,         NULL }
                     37: };
                     38: 
                     39: #define NCCLASSES      (sizeof(cclasses) / sizeof(cclasses[0]) - 1)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>