1 /* $NetBSD: isctype.c,v 1.13 1995/02/27 04:34:43 cgd Exp $ */ 2 3 /* 4 * Copyright (c) 1989 The Regents of the University of California. 5 * All rights reserved. 6 * (c) UNIX System Laboratories, Inc. 7 * All or some portions of this file are derived from material licensed 8 * to the University of California by American Telephone and Telegraph 9 * Co. or Unix System Laboratories, Inc. and are reproduced herein with 10 * the permission of UNIX System Laboratories, Inc. 11 * 12 * Redistribution and use in source and binary forms, with or without 13 * modification, are permitted provided that the following conditions 14 * are met: 15 * 1. Redistributions of source code must retain the above copyright 16 * notice, this list of conditions and the following disclaimer. 17 * 2. Redistributions in binary form must reproduce the above copyright 18 * notice, this list of conditions and the following disclaimer in the 19 * documentation and/or other materials provided with the distribution. 20 * 3. All advertising materials mentioning features or use of this software 21 * must display the following acknowledgement: 22 * This product includes software developed by the University of 23 * California, Berkeley and its contributors. 24 * 4. Neither the name of the University nor the names of its contributors 25 * may be used to endorse or promote products derived from this software 26 * without specific prior written permission. 27 * 28 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 29 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 30 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 31 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 32 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 33 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 34 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 35 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 36 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 37 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 38 * SUCH DAMAGE. 39 */ 40 41 #if defined(LIBC_SCCS) && !defined(lint) 42 #if 0 43 static char sccsid[] = "@(#)isctype.c 5.2 (Berkeley) 6/1/90"; 44 #else 45 static char rcsid[] = "$NetBSD: isctype.c,v 1.13 1995/02/27 04:34:43 cgd Exp $"; 46 #endif 47 #endif /* LIBC_SCCS and not lint */ 48 49 #define _ANSI_LIBRARY 50 #include <ctype.h> 51 52 #undef isalnum 53 int 54 isalnum(c) 55 int c; 56 { 57 return((_ctype_ + 1)[c] & (_U|_L|_N)); 58 } 59 60 #undef isalpha 61 int 62 isalpha(c) 63 int c; 64 { 65 return((_ctype_ + 1)[c] & (_U|_L)); 66 } 67 68 #undef isblank 69 int 70 isblank(c) 71 int c; 72 { 73 return(c == ' ' || c == '\t'); 74 } 75 76 #undef iscntrl 77 int 78 iscntrl(c) 79 int c; 80 { 81 return((_ctype_ + 1)[c] & _C); 82 } 83 84 #undef isdigit 85 int 86 isdigit(c) 87 int c; 88 { 89 return((_ctype_ + 1)[c] & _N); 90 } 91 92 #undef isgraph 93 int 94 isgraph(c) 95 int c; 96 { 97 return((_ctype_ + 1)[c] & (_P|_U|_L|_N)); 98 } 99 100 #undef islower 101 int 102 islower(c) 103 int c; 104 { 105 return((_ctype_ + 1)[c] & _L); 106 } 107 108 #undef isprint 109 int 110 isprint(c) 111 int c; 112 { 113 return((_ctype_ + 1)[c] & (_P|_U|_L|_N|_B)); 114 } 115 116 #undef ispunct 117 int 118 ispunct(c) 119 int c; 120 { 121 return((_ctype_ + 1)[c] & _P); 122 } 123 124 #undef isspace 125 int 126 isspace(c) 127 int c; 128 { 129 return((_ctype_ + 1)[c] & _S); 130 } 131 132 #undef isupper 133 int 134 isupper(c) 135 int c; 136 { 137 return((_ctype_ + 1)[c] & _U); 138 } 139 140 #undef isxdigit 141 int 142 isxdigit(c) 143 int c; 144 { 145 return((_ctype_ + 1)[c] & (_N|_X)); 146 } 147 148 #undef isascii 149 int 150 isascii(c) 151 int c; 152 { 153 return ((unsigned)(c) <= 0177); 154 } 155 156 #undef toascii 157 int 158 toascii(c) 159 int c; 160 { 161 return ((c) & 0177); 162 } 163 164 #undef _toupper 165 int 166 _toupper(c) 167 int c; 168 { 169 return (c - 'a' + 'A'); 170 } 171 172 #undef _tolower 173 int 174 _tolower(c) 175 int c; 176 { 177 return (c - 'A' + 'a'); 178 } 179