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