1
0
mirror of https://github.com/adtools/clib2.git synced 2025-12-08 14:59:05 +00:00
Files
amiga-clib2/library/ctype_table.c
Olaf Barthel 64c1175f7b - Made the <ctype.h> macros more robust.
git-svn-id: file:///Users/olsen/Code/migration-svn-zu-git/logical-line-staging/clib2/trunk@14797 87f5fb63-7c3d-0410-a384-fd976d0f7a62
2005-01-09 15:20:33 +00:00

179 lines
8.6 KiB
C

/*
* $Id: ctype_table.c,v 1.3 2005-01-09 15:20:31 obarthel Exp $
*
* :ts=4
*
* Portable ISO 'C' (1994) runtime library for the Amiga computer
* Copyright (c) 2002-2005 by Olaf Barthel <olsen@sourcery.han.de>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* - Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* - Neither the name of Olaf Barthel nor the names of contributors
* may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#define __C_MACROS__
#include <ctype.h>
/****************************************************************************/
const unsigned char __ctype_table[2 * 128] =
{
/* 0 */ __CTYPE_CONTROL,
/* 1 */ __CTYPE_CONTROL,
/* 2 */ __CTYPE_CONTROL,
/* 3 */ __CTYPE_CONTROL,
/* 4 */ __CTYPE_CONTROL,
/* 5 */ __CTYPE_CONTROL,
/* 6 */ __CTYPE_CONTROL,
/* 7 */ __CTYPE_CONTROL,
/* 8 */ __CTYPE_CONTROL,
/* 9 */ __CTYPE_CONTROL|__CTYPE_WHITE_SPACE,
/* 10 */ __CTYPE_CONTROL|__CTYPE_WHITE_SPACE,
/* 11 */ __CTYPE_CONTROL|__CTYPE_WHITE_SPACE,
/* 12 */ __CTYPE_CONTROL|__CTYPE_WHITE_SPACE,
/* 13 */ __CTYPE_CONTROL|__CTYPE_WHITE_SPACE,
/* 14 */ __CTYPE_CONTROL,
/* 15 */ __CTYPE_CONTROL,
/* 16 */ __CTYPE_CONTROL,
/* 17 */ __CTYPE_CONTROL,
/* 18 */ __CTYPE_CONTROL,
/* 19 */ __CTYPE_CONTROL,
/* 20 */ __CTYPE_CONTROL,
/* 21 */ __CTYPE_CONTROL,
/* 22 */ __CTYPE_CONTROL,
/* 23 */ __CTYPE_CONTROL,
/* 24 */ __CTYPE_CONTROL,
/* 25 */ __CTYPE_CONTROL,
/* 26 */ __CTYPE_CONTROL,
/* 27 */ __CTYPE_CONTROL,
/* 28 */ __CTYPE_CONTROL,
/* 29 */ __CTYPE_CONTROL,
/* 30 */ __CTYPE_CONTROL,
/* 31 */ __CTYPE_CONTROL,
/* 32, ' ' */ __CTYPE_PRINTABLE|__CTYPE_WHITE_SPACE,
/* 33, '!' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 34, '"' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 35, '#' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 36, '$' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 37, '%' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 38, '&' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 39, ''' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 40, '(' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 41, ')' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 42, '*' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 43, '+' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 44, ',' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 45, '-' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 46, '.' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 47, '/' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 48, '0' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 49, '1' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 50, '2' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 51, '3' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 52, '4' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 53, '5' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 54, '6' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 55, '7' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 56, '8' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 57, '9' */ __CTYPE_DIGIT|__CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE,
/* 58, ':' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 59, ';' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 60, '<' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 61, '=' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 62, '>' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 63, '?' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 64, '@' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 65, 'A' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 66, 'B' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 67, 'C' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 68, 'D' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 69, 'E' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 70, 'F' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 71, 'G' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 72, 'H' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 73, 'I' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 74, 'J' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 75, 'K' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 76, 'L' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 77, 'M' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 78, 'N' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 79, 'O' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 80, 'P' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 81, 'Q' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 82, 'R' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 83, 'S' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 84, 'T' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 85, 'U' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 86, 'V' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 87, 'W' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 88, 'X' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 89, 'Y' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 90, 'Z' */ __CTYPE_PRINTABLE|__CTYPE_UPPER_CASE,
/* 91, '[' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 92, '\' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 93, ']' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 94, '^' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 95, '_' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 96, '`' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 97, 'a' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 98, 'b' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 99, 'c' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 100, 'd' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 101, 'e' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 102, 'f' */ __CTYPE_HEX_DIGIT|__CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 103, 'g' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 104, 'h' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 105, 'i' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 106, 'j' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 107, 'k' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 108, 'l' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 109, 'm' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 110, 'n' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 111, 'o' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 112, 'p' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 113, 'q' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 114, 'r' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 115, 's' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 116, 't' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 117, 'u' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 118, 'v' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 119, 'w' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 120, 'x' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 121, 'y' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 122, 'z' */ __CTYPE_PRINTABLE|__CTYPE_LOWER_CASE,
/* 123, '{' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 124, '|' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 125, '}' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 126, '~' */ __CTYPE_PUNCTUATION|__CTYPE_PRINTABLE,
/* 127 */ __CTYPE_CONTROL,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};