1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 /* 28 * Copyright 2010 Nexenta Systems, Inc. All rights reserved. 29 * Use is subject to license terms. 30 */ 31 32 /* Copyright (c) 1988 AT&T */ 33 /* All Rights Reserved */ 34 35 #pragma weak _ctype = __ctype 36 37 #include "lint.h" 38 #include <locale.h> 39 #include "_locale.h" 40 #include <ctype.h> 41 #include <sys/types.h> 42 43 unsigned char __ctype_C[SZ_TOTAL] = 44 { 45 0, /* EOF */ 46 _C, _C, _C, _C, _C, _C, _C, _C, 47 _C, _S|_C, _S|_C, _S|_C, _S|_C, _S|_C, _C, _C, 48 _C, _C, _C, _C, _C, _C, _C, _C, 49 _C, _C, _C, _C, _C, _C, _C, _C, 50 _S|_B, _P, _P, _P, _P, _P, _P, _P, 51 _P, _P, _P, _P, _P, _P, _P, _P, 52 _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, 53 _N|_X, _N|_X, _P, _P, _P, _P, _P, _P, 54 _P, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U, 55 _U, _U, _U, _U, _U, _U, _U, _U, 56 _U, _U, _U, _U, _U, _U, _U, _U, 57 _U, _U, _U, _P, _P, _P, _P, _P, 58 _P, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L, 59 _L, _L, _L, _L, _L, _L, _L, _L, 60 _L, _L, _L, _L, _L, _L, _L, _L, 61 _L, _L, _L, _P, _P, _P, _P, _C, 62 0, 0, 0, 0, 0, 0, 0, 0, 63 0, 0, 0, 0, 0, 0, 0, 0, 64 0, 0, 0, 0, 0, 0, 0, 0, 65 0, 0, 0, 0, 0, 0, 0, 0, 66 0, 0, 0, 0, 0, 0, 0, 0, 67 0, 0, 0, 0, 0, 0, 0, 0, 68 0, 0, 0, 0, 0, 0, 0, 0, 69 0, 0, 0, 0, 0, 0, 0, 0, 70 0, 0, 0, 0, 0, 0, 0, 0, 71 0, 0, 0, 0, 0, 0, 0, 0, 72 0, 0, 0, 0, 0, 0, 0, 0, 73 0, 0, 0, 0, 0, 0, 0, 0, 74 0, 0, 0, 0, 0, 0, 0, 0, 75 0, 0, 0, 0, 0, 0, 0, 0, 76 0, 0, 0, 0, 0, 0, 0, 0, 77 0, 0, 0, 0, 0, 0, 0, 0, 78 79 /* tolower() and toupper() conversion table */ 0, 80 0, 1, 2, 3, 4, 5, 6, 7, 81 8, 9, 10, 11, 12, 13, 14, 15, 82 16, 17, 18, 19, 20, 21, 22, 23, 83 24, 25, 26, 27, 28, 29, 30, 31, 84 32, 33, 34, 35, 36, 37, 38, 39, 85 40, 41, 42, 43, 44, 45, 46, 47, 86 48, 49, 50, 51, 52, 53, 54, 55, 87 56, 57, 58, 59, 60, 61, 62, 63, 88 64, 97, 98, 99, 100, 101, 102, 103, 89 104, 105, 106, 107, 108, 109, 110, 111, 90 112, 113, 114, 115, 116, 117, 118, 119, 91 120, 121, 122, 91, 92, 93, 94, 95, 92 96, 65, 66, 67, 68, 69, 70, 71, 93 72, 73, 74, 75, 76, 77, 78, 79, 94 80, 81, 82, 83, 84, 85, 86, 87, 95 88, 89, 90, 123, 124, 125, 126, 127, 96 0, 0, 0, 0, 0, 0, 0, 0, 97 0, 0, 0, 0, 0, 0, 0, 0, 98 0, 0, 0, 0, 0, 0, 0, 0, 99 0, 0, 0, 0, 0, 0, 0, 0, 100 0, 0, 0, 0, 0, 0, 0, 0, 101 0, 0, 0, 0, 0, 0, 0, 0, 102 0, 0, 0, 0, 0, 0, 0, 0, 103 0, 0, 0, 0, 0, 0, 0, 0, 104 0, 0, 0, 0, 0, 0, 0, 0, 105 0, 0, 0, 0, 0, 0, 0, 0, 106 0, 0, 0, 0, 0, 0, 0, 0, 107 0, 0, 0, 0, 0, 0, 0, 0, 108 0, 0, 0, 0, 0, 0, 0, 0, 109 0, 0, 0, 0, 0, 0, 0, 0, 110 0, 0, 0, 0, 0, 0, 0, 0, 111 0, 0, 0, 0, 0, 0, 0, 0, 112 /* CSWIDTH information */ 113 1, 0, 0, 1, 0, 0, 1, 114 }; 115 116 unsigned char __ctype[SZ_TOTAL] = 117 { 118 0, /* EOF */ 119 _C, _C, _C, _C, _C, _C, _C, _C, 120 _C, _S|_C, _S|_C, _S|_C, _S|_C, _S|_C, _C, _C, 121 _C, _C, _C, _C, _C, _C, _C, _C, 122 _C, _C, _C, _C, _C, _C, _C, _C, 123 _S|_B, _P, _P, _P, _P, _P, _P, _P, 124 _P, _P, _P, _P, _P, _P, _P, _P, 125 _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, _N|_X, 126 _N|_X, _N|_X, _P, _P, _P, _P, _P, _P, 127 _P, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U|_X, _U, 128 _U, _U, _U, _U, _U, _U, _U, _U, 129 _U, _U, _U, _U, _U, _U, _U, _U, 130 _U, _U, _U, _P, _P, _P, _P, _P, 131 _P, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L|_X, _L, 132 _L, _L, _L, _L, _L, _L, _L, _L, 133 _L, _L, _L, _L, _L, _L, _L, _L, 134 _L, _L, _L, _P, _P, _P, _P, _C, 135 0, 0, 0, 0, 0, 0, 0, 0, 136 0, 0, 0, 0, 0, 0, 0, 0, 137 0, 0, 0, 0, 0, 0, 0, 0, 138 0, 0, 0, 0, 0, 0, 0, 0, 139 0, 0, 0, 0, 0, 0, 0, 0, 140 0, 0, 0, 0, 0, 0, 0, 0, 141 0, 0, 0, 0, 0, 0, 0, 0, 142 0, 0, 0, 0, 0, 0, 0, 0, 143 0, 0, 0, 0, 0, 0, 0, 0, 144 0, 0, 0, 0, 0, 0, 0, 0, 145 0, 0, 0, 0, 0, 0, 0, 0, 146 0, 0, 0, 0, 0, 0, 0, 0, 147 0, 0, 0, 0, 0, 0, 0, 0, 148 0, 0, 0, 0, 0, 0, 0, 0, 149 0, 0, 0, 0, 0, 0, 0, 0, 150 0, 0, 0, 0, 0, 0, 0, 0, 151 152 /* tolower() and toupper() conversion table */ 0, 153 0, 1, 2, 3, 4, 5, 6, 7, 154 8, 9, 10, 11, 12, 13, 14, 15, 155 16, 17, 18, 19, 20, 21, 22, 23, 156 24, 25, 26, 27, 28, 29, 30, 31, 157 32, 33, 34, 35, 36, 37, 38, 39, 158 40, 41, 42, 43, 44, 45, 46, 47, 159 48, 49, 50, 51, 52, 53, 54, 55, 160 56, 57, 58, 59, 60, 61, 62, 63, 161 64, 97, 98, 99, 100, 101, 102, 103, 162 104, 105, 106, 107, 108, 109, 110, 111, 163 112, 113, 114, 115, 116, 117, 118, 119, 164 120, 121, 122, 91, 92, 93, 94, 95, 165 96, 65, 66, 67, 68, 69, 70, 71, 166 72, 73, 74, 75, 76, 77, 78, 79, 167 80, 81, 82, 83, 84, 85, 86, 87, 168 88, 89, 90, 123, 124, 125, 126, 127, 169 0, 0, 0, 0, 0, 0, 0, 0, 170 0, 0, 0, 0, 0, 0, 0, 0, 171 0, 0, 0, 0, 0, 0, 0, 0, 172 0, 0, 0, 0, 0, 0, 0, 0, 173 0, 0, 0, 0, 0, 0, 0, 0, 174 0, 0, 0, 0, 0, 0, 0, 0, 175 0, 0, 0, 0, 0, 0, 0, 0, 176 0, 0, 0, 0, 0, 0, 0, 0, 177 0, 0, 0, 0, 0, 0, 0, 0, 178 0, 0, 0, 0, 0, 0, 0, 0, 179 0, 0, 0, 0, 0, 0, 0, 0, 180 0, 0, 0, 0, 0, 0, 0, 0, 181 0, 0, 0, 0, 0, 0, 0, 0, 182 0, 0, 0, 0, 0, 0, 0, 0, 183 0, 0, 0, 0, 0, 0, 0, 0, 184 0, 0, 0, 0, 0, 0, 0, 0, 185 /* CSWIDTH information */ 186 1, 0, 0, 1, 0, 0, 1, 187 }; 188 189 unsigned char _numeric[SZ_NUMERIC] = 190 { 191 '.', '\0', 192 }; 193