Merge from vendor branch OPENSSH:
[dragonfly.git] / lib / libc / gen / isctype.c
1 /*      $NetBSD: src/lib/libc/gen/isctype.c,v 1.16 2003/08/07 16:42:52 agc Exp $        */
2 /*      $DragonFly: src/lib/libc/gen/isctype.c,v 1.6 2005/09/17 14:39:44 joerg Exp $ */
3
4 /*
5  * Copyright (c) 1989 The Regents of the University of California.
6  * All rights reserved.
7  * (c) UNIX System Laboratories, Inc.
8  * All or some portions of this file are derived from material licensed
9  * to the University of California by American Telephone and Telegraph
10  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
11  * the permission of UNIX System Laboratories, Inc.
12  *
13  * Redistribution and use in source and binary forms, with or without
14  * modification, are permitted provided that the following conditions
15  * are met:
16  * 1. Redistributions of source code must retain the above copyright
17  *    notice, this list of conditions and the following disclaimer.
18  * 2. Redistributions in binary form must reproduce the above copyright
19  *    notice, this list of conditions and the following disclaimer in the
20  *    documentation and/or other materials provided with the distribution.
21  * 3. Neither the name of the University nor the names of its contributors
22  *    may be used to endorse or promote products derived from this software
23  *    without specific prior written permission.
24  *
25  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35  * SUCH DAMAGE.
36  */
37
38 #define _ANSI_LIBRARY
39 #include <ctype.h>
40
41 #undef isalnum
42 int
43 isalnum(int c)
44 {
45         return(__libc_ctype_index(_CTYPEMASK_A | _CTYPEMASK_D, c));
46 }
47
48 #undef isalpha
49 int
50 isalpha(int c)
51 {
52         return(__libc_ctype_index(_CTYPEMASK_A, c));
53 }
54
55 #undef isblank
56 int
57 isblank(int c)
58 {
59         return(__libc_ctype_index(_CTYPEMASK_B, c));
60 }
61
62 #undef iscntrl
63 int
64 iscntrl(int c)
65 {
66         return(__libc_ctype_index(_CTYPEMASK_C, c));
67 }
68
69 #undef isdigit
70 int
71 isdigit(int c)
72 {
73         return(__libc_ctype_index(_CTYPEMASK_D, c));
74 }
75
76 #undef isgraph
77 int
78 isgraph(int c)
79 {
80         return(__libc_ctype_index(_CTYPEMASK_G, c));
81 }
82
83 #undef islower
84 int
85 islower(int c)
86 {
87         return(__libc_ctype_index(_CTYPEMASK_L, c));
88 }
89
90 #undef isprint
91 int
92 isprint(int c)
93 {
94         return(__libc_ctype_index(_CTYPEMASK_R, c));
95 }
96
97 #undef ispunct
98 int
99 ispunct(int c)
100 {
101         return(__libc_ctype_index(_CTYPEMASK_P, c));
102 }
103
104 #undef isspace
105 int
106 isspace(int c)
107 {
108         return(__libc_ctype_index(_CTYPEMASK_S, c));
109 }
110
111 #undef isupper
112 int
113 isupper(int c)
114 {
115         return(__libc_ctype_index(_CTYPEMASK_U, c));
116 }
117
118 #undef isxdigit
119 int
120 isxdigit(int c)
121 {
122         return(__libc_ctype_index(_CTYPEMASK_X, c));
123 }
124
125 #undef _toupper
126 int
127 _toupper(int c)
128 {
129         return(c - 'a' + 'A');
130 }
131
132 #undef _tolower
133 int
134 _tolower(int c)
135 {
136         return(c - 'A' + 'a');
137 }