ctype.c revision 251881
1251881Speter/* 2251881Speter * ctype.c: Character classification routines 3251881Speter * 4251881Speter * ==================================================================== 5251881Speter * Licensed to the Apache Software Foundation (ASF) under one 6251881Speter * or more contributor license agreements. See the NOTICE file 7251881Speter * distributed with this work for additional information 8251881Speter * regarding copyright ownership. The ASF licenses this file 9251881Speter * to you under the Apache License, Version 2.0 (the 10251881Speter * "License"); you may not use this file except in compliance 11251881Speter * with the License. You may obtain a copy of the License at 12251881Speter * 13251881Speter * http://www.apache.org/licenses/LICENSE-2.0 14251881Speter * 15251881Speter * Unless required by applicable law or agreed to in writing, 16251881Speter * software distributed under the License is distributed on an 17251881Speter * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 18251881Speter * KIND, either express or implied. See the License for the 19251881Speter * specific language governing permissions and limitations 20251881Speter * under the License. 21251881Speter * ==================================================================== 22251881Speter */ 23251881Speter 24251881Speter 25251881Speter 26251881Speter#include "svn_ctype.h" 27251881Speter 28251881Speterconst apr_uint32_t svn_ctype_table_internal[256] = 29251881Speter { 30251881Speter /* **** DO NOT EDIT! **** 31251881Speter This table was generated by genctype.py, make changes there. */ 32251881Speter /* nul */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 33251881Speter /* soh */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 34251881Speter /* stx */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 35251881Speter /* etx */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 36251881Speter /* eot */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 37251881Speter /* enq */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 38251881Speter /* ack */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 39251881Speter /* bel */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 40251881Speter /* bs */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 41251881Speter /* ht */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, 42251881Speter /* nl */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, 43251881Speter /* vt */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, 44251881Speter /* np */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, 45251881Speter /* cr */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, 46251881Speter /* so */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 47251881Speter /* si */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 48251881Speter /* dle */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 49251881Speter /* dc1 */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 50251881Speter /* dc2 */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 51251881Speter /* dc3 */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 52251881Speter /* dc4 */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 53251881Speter /* nak */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 54251881Speter /* syn */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 55251881Speter /* etb */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 56251881Speter /* can */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 57251881Speter /* em */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 58251881Speter /* sub */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 59251881Speter /* esc */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 60251881Speter /* fs */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 61251881Speter /* gs */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 62251881Speter /* rs */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 63251881Speter /* us */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 64251881Speter /* sp */ SVN_CTYPE_ASCII | SVN_CTYPE_SPACE, 65251881Speter /* ! */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 66251881Speter /* " */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 67251881Speter /* # */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 68251881Speter /* $ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 69251881Speter /* % */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 70251881Speter /* & */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 71251881Speter /* ' */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 72251881Speter /* ( */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 73251881Speter /* ) */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 74251881Speter /* * */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 75251881Speter /* + */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 76251881Speter /* , */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 77251881Speter /* - */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 78251881Speter /* . */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 79251881Speter /* / */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 80251881Speter /* 0 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 81251881Speter /* 1 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 82251881Speter /* 2 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 83251881Speter /* 3 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 84251881Speter /* 4 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 85251881Speter /* 5 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 86251881Speter /* 6 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 87251881Speter /* 7 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 88251881Speter /* 8 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 89251881Speter /* 9 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, 90251881Speter /* : */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 91251881Speter /* ; */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 92251881Speter /* < */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 93251881Speter /* = */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 94251881Speter /* > */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 95251881Speter /* ? */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 96251881Speter /* @ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 97251881Speter /* A */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, 98251881Speter /* B */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, 99251881Speter /* C */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, 100251881Speter /* D */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, 101251881Speter /* E */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, 102251881Speter /* F */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, 103251881Speter /* G */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 104251881Speter /* H */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 105251881Speter /* I */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 106251881Speter /* J */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 107251881Speter /* K */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 108251881Speter /* L */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 109251881Speter /* M */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 110251881Speter /* N */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 111251881Speter /* O */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 112251881Speter /* P */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 113251881Speter /* Q */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 114251881Speter /* R */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 115251881Speter /* S */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 116251881Speter /* T */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 117251881Speter /* U */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 118251881Speter /* V */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 119251881Speter /* W */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 120251881Speter /* X */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 121251881Speter /* Y */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 122251881Speter /* Z */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, 123251881Speter /* [ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 124251881Speter /* \ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 125251881Speter /* ] */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 126251881Speter /* ^ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 127251881Speter /* _ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 128251881Speter /* ` */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 129251881Speter /* a */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, 130251881Speter /* b */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, 131251881Speter /* c */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, 132251881Speter /* d */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, 133251881Speter /* e */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, 134251881Speter /* f */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, 135251881Speter /* g */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 136251881Speter /* h */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 137251881Speter /* i */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 138251881Speter /* j */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 139251881Speter /* k */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 140251881Speter /* l */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 141251881Speter /* m */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 142251881Speter /* n */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 143251881Speter /* o */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 144251881Speter /* p */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 145251881Speter /* q */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 146251881Speter /* r */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 147251881Speter /* s */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 148251881Speter /* t */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 149251881Speter /* u */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 150251881Speter /* v */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 151251881Speter /* w */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 152251881Speter /* x */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 153251881Speter /* y */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 154251881Speter /* z */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, 155251881Speter /* { */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 156251881Speter /* | */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 157251881Speter /* } */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 158251881Speter /* ~ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, 159251881Speter /* del */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, 160251881Speter /* x80 */ SVN_CTYPE_UTF8CONT, 161251881Speter /* x81 */ SVN_CTYPE_UTF8CONT, 162251881Speter /* x82 */ SVN_CTYPE_UTF8CONT, 163251881Speter /* x83 */ SVN_CTYPE_UTF8CONT, 164251881Speter /* x84 */ SVN_CTYPE_UTF8CONT, 165251881Speter /* x85 */ SVN_CTYPE_UTF8CONT, 166251881Speter /* x86 */ SVN_CTYPE_UTF8CONT, 167251881Speter /* x87 */ SVN_CTYPE_UTF8CONT, 168251881Speter /* x88 */ SVN_CTYPE_UTF8CONT, 169251881Speter /* x89 */ SVN_CTYPE_UTF8CONT, 170251881Speter /* x8a */ SVN_CTYPE_UTF8CONT, 171251881Speter /* x8b */ SVN_CTYPE_UTF8CONT, 172251881Speter /* x8c */ SVN_CTYPE_UTF8CONT, 173251881Speter /* x8d */ SVN_CTYPE_UTF8CONT, 174251881Speter /* x8e */ SVN_CTYPE_UTF8CONT, 175251881Speter /* x8f */ SVN_CTYPE_UTF8CONT, 176251881Speter /* x90 */ SVN_CTYPE_UTF8CONT, 177251881Speter /* x91 */ SVN_CTYPE_UTF8CONT, 178251881Speter /* x92 */ SVN_CTYPE_UTF8CONT, 179251881Speter /* x93 */ SVN_CTYPE_UTF8CONT, 180251881Speter /* x94 */ SVN_CTYPE_UTF8CONT, 181251881Speter /* x95 */ SVN_CTYPE_UTF8CONT, 182251881Speter /* x96 */ SVN_CTYPE_UTF8CONT, 183251881Speter /* x97 */ SVN_CTYPE_UTF8CONT, 184251881Speter /* x98 */ SVN_CTYPE_UTF8CONT, 185251881Speter /* x99 */ SVN_CTYPE_UTF8CONT, 186251881Speter /* x9a */ SVN_CTYPE_UTF8CONT, 187251881Speter /* x9b */ SVN_CTYPE_UTF8CONT, 188251881Speter /* x9c */ SVN_CTYPE_UTF8CONT, 189251881Speter /* x9d */ SVN_CTYPE_UTF8CONT, 190251881Speter /* x9e */ SVN_CTYPE_UTF8CONT, 191251881Speter /* x9f */ SVN_CTYPE_UTF8CONT, 192251881Speter /* xa0 */ SVN_CTYPE_UTF8CONT, 193251881Speter /* xa1 */ SVN_CTYPE_UTF8CONT, 194251881Speter /* xa2 */ SVN_CTYPE_UTF8CONT, 195251881Speter /* xa3 */ SVN_CTYPE_UTF8CONT, 196251881Speter /* xa4 */ SVN_CTYPE_UTF8CONT, 197251881Speter /* xa5 */ SVN_CTYPE_UTF8CONT, 198251881Speter /* xa6 */ SVN_CTYPE_UTF8CONT, 199251881Speter /* xa7 */ SVN_CTYPE_UTF8CONT, 200251881Speter /* xa8 */ SVN_CTYPE_UTF8CONT, 201251881Speter /* xa9 */ SVN_CTYPE_UTF8CONT, 202251881Speter /* xaa */ SVN_CTYPE_UTF8CONT, 203251881Speter /* xab */ SVN_CTYPE_UTF8CONT, 204251881Speter /* xac */ SVN_CTYPE_UTF8CONT, 205251881Speter /* xad */ SVN_CTYPE_UTF8CONT, 206251881Speter /* xae */ SVN_CTYPE_UTF8CONT, 207251881Speter /* xaf */ SVN_CTYPE_UTF8CONT, 208251881Speter /* xb0 */ SVN_CTYPE_UTF8CONT, 209251881Speter /* xb1 */ SVN_CTYPE_UTF8CONT, 210251881Speter /* xb2 */ SVN_CTYPE_UTF8CONT, 211251881Speter /* xb3 */ SVN_CTYPE_UTF8CONT, 212251881Speter /* xb4 */ SVN_CTYPE_UTF8CONT, 213251881Speter /* xb5 */ SVN_CTYPE_UTF8CONT, 214251881Speter /* xb6 */ SVN_CTYPE_UTF8CONT, 215251881Speter /* xb7 */ SVN_CTYPE_UTF8CONT, 216251881Speter /* xb8 */ SVN_CTYPE_UTF8CONT, 217251881Speter /* xb9 */ SVN_CTYPE_UTF8CONT, 218251881Speter /* xba */ SVN_CTYPE_UTF8CONT, 219251881Speter /* xbb */ SVN_CTYPE_UTF8CONT, 220251881Speter /* xbc */ SVN_CTYPE_UTF8CONT, 221251881Speter /* xbd */ SVN_CTYPE_UTF8CONT, 222251881Speter /* xbe */ SVN_CTYPE_UTF8CONT, 223251881Speter /* xbf */ SVN_CTYPE_UTF8CONT, 224251881Speter /* xc0 */ 0, 225251881Speter /* xc1 */ SVN_CTYPE_UTF8LEAD, 226251881Speter /* xc2 */ SVN_CTYPE_UTF8LEAD, 227251881Speter /* xc3 */ SVN_CTYPE_UTF8LEAD, 228251881Speter /* xc4 */ SVN_CTYPE_UTF8LEAD, 229251881Speter /* xc5 */ SVN_CTYPE_UTF8LEAD, 230251881Speter /* xc6 */ SVN_CTYPE_UTF8LEAD, 231251881Speter /* xc7 */ SVN_CTYPE_UTF8LEAD, 232251881Speter /* xc8 */ SVN_CTYPE_UTF8LEAD, 233251881Speter /* xc9 */ SVN_CTYPE_UTF8LEAD, 234251881Speter /* xca */ SVN_CTYPE_UTF8LEAD, 235251881Speter /* xcb */ SVN_CTYPE_UTF8LEAD, 236251881Speter /* xcc */ SVN_CTYPE_UTF8LEAD, 237251881Speter /* xcd */ SVN_CTYPE_UTF8LEAD, 238251881Speter /* xce */ SVN_CTYPE_UTF8LEAD, 239251881Speter /* xcf */ SVN_CTYPE_UTF8LEAD, 240251881Speter /* xd0 */ SVN_CTYPE_UTF8LEAD, 241251881Speter /* xd1 */ SVN_CTYPE_UTF8LEAD, 242251881Speter /* xd2 */ SVN_CTYPE_UTF8LEAD, 243251881Speter /* xd3 */ SVN_CTYPE_UTF8LEAD, 244251881Speter /* xd4 */ SVN_CTYPE_UTF8LEAD, 245251881Speter /* xd5 */ SVN_CTYPE_UTF8LEAD, 246251881Speter /* xd6 */ SVN_CTYPE_UTF8LEAD, 247251881Speter /* xd7 */ SVN_CTYPE_UTF8LEAD, 248251881Speter /* xd8 */ SVN_CTYPE_UTF8LEAD, 249251881Speter /* xd9 */ SVN_CTYPE_UTF8LEAD, 250251881Speter /* xda */ SVN_CTYPE_UTF8LEAD, 251251881Speter /* xdb */ SVN_CTYPE_UTF8LEAD, 252251881Speter /* xdc */ SVN_CTYPE_UTF8LEAD, 253251881Speter /* xdd */ SVN_CTYPE_UTF8LEAD, 254251881Speter /* xde */ SVN_CTYPE_UTF8LEAD, 255251881Speter /* xdf */ SVN_CTYPE_UTF8LEAD, 256251881Speter /* xe0 */ 0, 257251881Speter /* xe1 */ SVN_CTYPE_UTF8LEAD, 258251881Speter /* xe2 */ SVN_CTYPE_UTF8LEAD, 259251881Speter /* xe3 */ SVN_CTYPE_UTF8LEAD, 260251881Speter /* xe4 */ SVN_CTYPE_UTF8LEAD, 261251881Speter /* xe5 */ SVN_CTYPE_UTF8LEAD, 262251881Speter /* xe6 */ SVN_CTYPE_UTF8LEAD, 263251881Speter /* xe7 */ SVN_CTYPE_UTF8LEAD, 264251881Speter /* xe8 */ SVN_CTYPE_UTF8LEAD, 265251881Speter /* xe9 */ SVN_CTYPE_UTF8LEAD, 266251881Speter /* xea */ SVN_CTYPE_UTF8LEAD, 267251881Speter /* xeb */ SVN_CTYPE_UTF8LEAD, 268251881Speter /* xec */ SVN_CTYPE_UTF8LEAD, 269251881Speter /* xed */ SVN_CTYPE_UTF8LEAD, 270251881Speter /* xee */ SVN_CTYPE_UTF8LEAD, 271251881Speter /* xef */ SVN_CTYPE_UTF8LEAD, 272251881Speter /* xf0 */ 0, 273251881Speter /* xf1 */ SVN_CTYPE_UTF8LEAD, 274251881Speter /* xf2 */ SVN_CTYPE_UTF8LEAD, 275251881Speter /* xf3 */ SVN_CTYPE_UTF8LEAD, 276251881Speter /* xf4 */ SVN_CTYPE_UTF8LEAD, 277251881Speter /* xf5 */ SVN_CTYPE_UTF8LEAD, 278251881Speter /* xf6 */ SVN_CTYPE_UTF8LEAD, 279251881Speter /* xf7 */ SVN_CTYPE_UTF8LEAD, 280251881Speter /* xf8 */ 0, 281251881Speter /* xf9 */ SVN_CTYPE_UTF8LEAD, 282251881Speter /* xfa */ SVN_CTYPE_UTF8LEAD, 283251881Speter /* xfb */ SVN_CTYPE_UTF8LEAD, 284251881Speter /* xfc */ 0, 285251881Speter /* xfd */ SVN_CTYPE_UTF8LEAD, 286251881Speter /* xfe */ 0, 287251881Speter /* xff */ 0 288251881Speter }; 289251881Speter 290251881Speterconst apr_uint32_t *const svn_ctype_table = svn_ctype_table_internal; 291251881Speter 292251881Speterstatic const unsigned char casefold_table[256] = 293251881Speter { 294251881Speter /* Identity, except {97:122} => {65:90} */ 295251881Speter 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 296251881Speter 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 297251881Speter 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 298251881Speter 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 299251881Speter 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 300251881Speter 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 301251881Speter 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 302251881Speter 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127, 303251881Speter 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, 304251881Speter 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, 305251881Speter 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, 306251881Speter 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, 307251881Speter 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, 308251881Speter 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, 309251881Speter 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, 310251881Speter 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 311251881Speter }; 312251881Speter 313251881Speterint 314251881Spetersvn_ctype_casecmp(int a, int b) 315251881Speter{ 316251881Speter const int A = casefold_table[(unsigned char)a]; 317251881Speter const int B = casefold_table[(unsigned char)b]; 318251881Speter return A - B; 319251881Speter} 320