| /* |
| * ctype.c: Character classification routines |
| * |
| * ==================================================================== |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * ==================================================================== |
| */ |
| |
| |
| |
| #include "svn_ctype.h" |
| |
| #ifndef WIN32 |
| static |
| #else |
| /* This variable is exported as 'CONSTANT' in our .def file for libsvn_subr, |
| with the name svn_ctype_table. |
| |
| This long deprecated construct will export *a pointer to* the |
| variable exported. |
| |
| See http://support.microsoft.com/kb/90530/en-us for the ugly details on |
| this system that was already deprecated when we started Subversion and |
| on why we should have used __declspec(dllexport) when initially exporting |
| this variable. (It would allow avoiding the pointer transformation). |
| |
| But to keep backwards compatibility this symbol will have to stay public |
| on Windows until Subversion 2.0. */ |
| #endif |
| const apr_uint32_t svn_ctype_table_internal[256] = |
| { |
| /* **** DO NOT EDIT! **** |
| This table was generated by genctype.py, make changes there. */ |
| /* nul */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* soh */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* stx */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* etx */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* eot */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* enq */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* ack */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* bel */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* bs */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* ht */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, |
| /* nl */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, |
| /* vt */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, |
| /* np */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, |
| /* cr */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL | SVN_CTYPE_SPACE, |
| /* so */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* si */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* dle */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* dc1 */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* dc2 */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* dc3 */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* dc4 */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* nak */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* syn */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* etb */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* can */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* em */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* sub */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* esc */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* fs */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* gs */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* rs */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* us */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* sp */ SVN_CTYPE_ASCII | SVN_CTYPE_SPACE, |
| /* ! */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* " */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* # */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* $ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* % */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* & */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* ' */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* ( */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* ) */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* * */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* + */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* , */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* - */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* . */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* / */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* 0 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* 1 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* 2 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* 3 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* 4 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* 5 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* 6 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* 7 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* 8 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* 9 */ SVN_CTYPE_ASCII | SVN_CTYPE_DIGIT, |
| /* : */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* ; */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* < */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* = */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* > */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* ? */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* @ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* A */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, |
| /* B */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, |
| /* C */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, |
| /* D */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, |
| /* E */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, |
| /* F */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER | SVN_CTYPE_XALPHA, |
| /* G */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* H */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* I */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* J */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* K */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* L */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* M */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* N */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* O */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* P */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* Q */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* R */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* S */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* T */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* U */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* V */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* W */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* X */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* Y */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* Z */ SVN_CTYPE_ASCII | SVN_CTYPE_UPPER, |
| /* [ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* \ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* ] */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* ^ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* _ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* ` */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* a */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, |
| /* b */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, |
| /* c */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, |
| /* d */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, |
| /* e */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, |
| /* f */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER | SVN_CTYPE_XALPHA, |
| /* g */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* h */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* i */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* j */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* k */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* l */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* m */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* n */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* o */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* p */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* q */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* r */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* s */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* t */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* u */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* v */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* w */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* x */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* y */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* z */ SVN_CTYPE_ASCII | SVN_CTYPE_LOWER, |
| /* { */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* | */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* } */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* ~ */ SVN_CTYPE_ASCII | SVN_CTYPE_PUNCT, |
| /* del */ SVN_CTYPE_ASCII | SVN_CTYPE_CNTRL, |
| /* x80 */ SVN_CTYPE_UTF8CONT, |
| /* x81 */ SVN_CTYPE_UTF8CONT, |
| /* x82 */ SVN_CTYPE_UTF8CONT, |
| /* x83 */ SVN_CTYPE_UTF8CONT, |
| /* x84 */ SVN_CTYPE_UTF8CONT, |
| /* x85 */ SVN_CTYPE_UTF8CONT, |
| /* x86 */ SVN_CTYPE_UTF8CONT, |
| /* x87 */ SVN_CTYPE_UTF8CONT, |
| /* x88 */ SVN_CTYPE_UTF8CONT, |
| /* x89 */ SVN_CTYPE_UTF8CONT, |
| /* x8a */ SVN_CTYPE_UTF8CONT, |
| /* x8b */ SVN_CTYPE_UTF8CONT, |
| /* x8c */ SVN_CTYPE_UTF8CONT, |
| /* x8d */ SVN_CTYPE_UTF8CONT, |
| /* x8e */ SVN_CTYPE_UTF8CONT, |
| /* x8f */ SVN_CTYPE_UTF8CONT, |
| /* x90 */ SVN_CTYPE_UTF8CONT, |
| /* x91 */ SVN_CTYPE_UTF8CONT, |
| /* x92 */ SVN_CTYPE_UTF8CONT, |
| /* x93 */ SVN_CTYPE_UTF8CONT, |
| /* x94 */ SVN_CTYPE_UTF8CONT, |
| /* x95 */ SVN_CTYPE_UTF8CONT, |
| /* x96 */ SVN_CTYPE_UTF8CONT, |
| /* x97 */ SVN_CTYPE_UTF8CONT, |
| /* x98 */ SVN_CTYPE_UTF8CONT, |
| /* x99 */ SVN_CTYPE_UTF8CONT, |
| /* x9a */ SVN_CTYPE_UTF8CONT, |
| /* x9b */ SVN_CTYPE_UTF8CONT, |
| /* x9c */ SVN_CTYPE_UTF8CONT, |
| /* x9d */ SVN_CTYPE_UTF8CONT, |
| /* x9e */ SVN_CTYPE_UTF8CONT, |
| /* x9f */ SVN_CTYPE_UTF8CONT, |
| /* xa0 */ SVN_CTYPE_UTF8CONT, |
| /* xa1 */ SVN_CTYPE_UTF8CONT, |
| /* xa2 */ SVN_CTYPE_UTF8CONT, |
| /* xa3 */ SVN_CTYPE_UTF8CONT, |
| /* xa4 */ SVN_CTYPE_UTF8CONT, |
| /* xa5 */ SVN_CTYPE_UTF8CONT, |
| /* xa6 */ SVN_CTYPE_UTF8CONT, |
| /* xa7 */ SVN_CTYPE_UTF8CONT, |
| /* xa8 */ SVN_CTYPE_UTF8CONT, |
| /* xa9 */ SVN_CTYPE_UTF8CONT, |
| /* xaa */ SVN_CTYPE_UTF8CONT, |
| /* xab */ SVN_CTYPE_UTF8CONT, |
| /* xac */ SVN_CTYPE_UTF8CONT, |
| /* xad */ SVN_CTYPE_UTF8CONT, |
| /* xae */ SVN_CTYPE_UTF8CONT, |
| /* xaf */ SVN_CTYPE_UTF8CONT, |
| /* xb0 */ SVN_CTYPE_UTF8CONT, |
| /* xb1 */ SVN_CTYPE_UTF8CONT, |
| /* xb2 */ SVN_CTYPE_UTF8CONT, |
| /* xb3 */ SVN_CTYPE_UTF8CONT, |
| /* xb4 */ SVN_CTYPE_UTF8CONT, |
| /* xb5 */ SVN_CTYPE_UTF8CONT, |
| /* xb6 */ SVN_CTYPE_UTF8CONT, |
| /* xb7 */ SVN_CTYPE_UTF8CONT, |
| /* xb8 */ SVN_CTYPE_UTF8CONT, |
| /* xb9 */ SVN_CTYPE_UTF8CONT, |
| /* xba */ SVN_CTYPE_UTF8CONT, |
| /* xbb */ SVN_CTYPE_UTF8CONT, |
| /* xbc */ SVN_CTYPE_UTF8CONT, |
| /* xbd */ SVN_CTYPE_UTF8CONT, |
| /* xbe */ SVN_CTYPE_UTF8CONT, |
| /* xbf */ SVN_CTYPE_UTF8CONT, |
| /* xc0 */ 0, |
| /* xc1 */ SVN_CTYPE_UTF8LEAD, |
| /* xc2 */ SVN_CTYPE_UTF8LEAD, |
| /* xc3 */ SVN_CTYPE_UTF8LEAD, |
| /* xc4 */ SVN_CTYPE_UTF8LEAD, |
| /* xc5 */ SVN_CTYPE_UTF8LEAD, |
| /* xc6 */ SVN_CTYPE_UTF8LEAD, |
| /* xc7 */ SVN_CTYPE_UTF8LEAD, |
| /* xc8 */ SVN_CTYPE_UTF8LEAD, |
| /* xc9 */ SVN_CTYPE_UTF8LEAD, |
| /* xca */ SVN_CTYPE_UTF8LEAD, |
| /* xcb */ SVN_CTYPE_UTF8LEAD, |
| /* xcc */ SVN_CTYPE_UTF8LEAD, |
| /* xcd */ SVN_CTYPE_UTF8LEAD, |
| /* xce */ SVN_CTYPE_UTF8LEAD, |
| /* xcf */ SVN_CTYPE_UTF8LEAD, |
| /* xd0 */ SVN_CTYPE_UTF8LEAD, |
| /* xd1 */ SVN_CTYPE_UTF8LEAD, |
| /* xd2 */ SVN_CTYPE_UTF8LEAD, |
| /* xd3 */ SVN_CTYPE_UTF8LEAD, |
| /* xd4 */ SVN_CTYPE_UTF8LEAD, |
| /* xd5 */ SVN_CTYPE_UTF8LEAD, |
| /* xd6 */ SVN_CTYPE_UTF8LEAD, |
| /* xd7 */ SVN_CTYPE_UTF8LEAD, |
| /* xd8 */ SVN_CTYPE_UTF8LEAD, |
| /* xd9 */ SVN_CTYPE_UTF8LEAD, |
| /* xda */ SVN_CTYPE_UTF8LEAD, |
| /* xdb */ SVN_CTYPE_UTF8LEAD, |
| /* xdc */ SVN_CTYPE_UTF8LEAD, |
| /* xdd */ SVN_CTYPE_UTF8LEAD, |
| /* xde */ SVN_CTYPE_UTF8LEAD, |
| /* xdf */ SVN_CTYPE_UTF8LEAD, |
| /* xe0 */ 0, |
| /* xe1 */ SVN_CTYPE_UTF8LEAD, |
| /* xe2 */ SVN_CTYPE_UTF8LEAD, |
| /* xe3 */ SVN_CTYPE_UTF8LEAD, |
| /* xe4 */ SVN_CTYPE_UTF8LEAD, |
| /* xe5 */ SVN_CTYPE_UTF8LEAD, |
| /* xe6 */ SVN_CTYPE_UTF8LEAD, |
| /* xe7 */ SVN_CTYPE_UTF8LEAD, |
| /* xe8 */ SVN_CTYPE_UTF8LEAD, |
| /* xe9 */ SVN_CTYPE_UTF8LEAD, |
| /* xea */ SVN_CTYPE_UTF8LEAD, |
| /* xeb */ SVN_CTYPE_UTF8LEAD, |
| /* xec */ SVN_CTYPE_UTF8LEAD, |
| /* xed */ SVN_CTYPE_UTF8LEAD, |
| /* xee */ SVN_CTYPE_UTF8LEAD, |
| /* xef */ SVN_CTYPE_UTF8LEAD, |
| /* xf0 */ 0, |
| /* xf1 */ SVN_CTYPE_UTF8LEAD, |
| /* xf2 */ SVN_CTYPE_UTF8LEAD, |
| /* xf3 */ SVN_CTYPE_UTF8LEAD, |
| /* xf4 */ SVN_CTYPE_UTF8LEAD, |
| /* xf5 */ SVN_CTYPE_UTF8LEAD, |
| /* xf6 */ SVN_CTYPE_UTF8LEAD, |
| /* xf7 */ SVN_CTYPE_UTF8LEAD, |
| /* xf8 */ 0, |
| /* xf9 */ SVN_CTYPE_UTF8LEAD, |
| /* xfa */ SVN_CTYPE_UTF8LEAD, |
| /* xfb */ SVN_CTYPE_UTF8LEAD, |
| /* xfc */ 0, |
| /* xfd */ SVN_CTYPE_UTF8LEAD, |
| /* xfe */ 0, |
| /* xff */ 0 |
| }; |
| |
| const apr_uint32_t *const svn_ctype_table = svn_ctype_table_internal; |
| |
| static const unsigned char casefold_table[256] = |
| { |
| /* Identity, except {97:122} => {65:90} */ |
| 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, |
| 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, |
| 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, |
| 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, |
| 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, |
| 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, |
| 96, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, |
| 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,123,124,125,126,127, |
| 128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, |
| 144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159, |
| 160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175, |
| 176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191, |
| 192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207, |
| 208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223, |
| 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239, |
| 240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 |
| }; |
| |
| int |
| svn_ctype_casecmp(int a, int b) |
| { |
| const int A = casefold_table[(unsigned char)a]; |
| const int B = casefold_table[(unsigned char)b]; |
| return A - B; |
| } |