table.c revision 127835
1139749Simp/*- 255992Swpaul * Copyright (c) 1993 355992Swpaul * The Regents of the University of California. All rights reserved. 455992Swpaul * 555992Swpaul * This code is derived from software contributed to Berkeley by 655992Swpaul * Paul Borman at Krystal Technologies. 755992Swpaul * 855992Swpaul * Redistribution and use in source and binary forms, with or without 955992Swpaul * modification, are permitted provided that the following conditions 1055992Swpaul * are met: 1155992Swpaul * 1. Redistributions of source code must retain the above copyright 1255992Swpaul * notice, this list of conditions and the following disclaimer. 1355992Swpaul * 2. Redistributions in binary form must reproduce the above copyright 1455992Swpaul * notice, this list of conditions and the following disclaimer in the 1555992Swpaul * documentation and/or other materials provided with the distribution. 1655992Swpaul * 3. All advertising materials mentioning features or use of this software 1755992Swpaul * must display the following acknowledgement: 1855992Swpaul * This product includes software developed by the University of 1955992Swpaul * California, Berkeley and its contributors. 2055992Swpaul * 4. Neither the name of the University nor the names of its contributors 2155992Swpaul * may be used to endorse or promote products derived from this software 2255992Swpaul * without specific prior written permission. 2355992Swpaul * 2455992Swpaul * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2555992Swpaul * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2655992Swpaul * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2755992Swpaul * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2855992Swpaul * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2955992Swpaul * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 3055992Swpaul * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 3155992Swpaul * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 3255992Swpaul * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 3355992Swpaul * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3455992Swpaul * SUCH DAMAGE. 35110531Sambrisko */ 3655992Swpaul 3777217Sphk#if defined(LIBC_SCCS) && !defined(lint) 3877217Sphkstatic char sccsid[] = "@(#)table.c 8.1 (Berkeley) 6/27/93"; 3955992Swpaul#endif /* LIBC_SCCS and not lint */ 4055992Swpaul#include <sys/cdefs.h> 4155992Swpaul__FBSDID("$FreeBSD: head/lib/libc/locale/table.c 127835 2004-04-04 11:31:29Z tjr $"); 4255992Swpaul 4355992Swpaul#include <ctype.h> 4455992Swpaul#include <rune.h> 4555992Swpaul#include <wchar.h> 4655992Swpaul 4755992Swpaulextern size_t _none_mbrtowc(wchar_t * __restrict, const char * __restrict, size_t, 48199756Sjhb mbstate_t * __restrict); 4955992Swpaulextern size_t _none_wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict); 50199756Sjhbextern rune_t __emulated_sgetrune(const char *, size_t, const char **); 5155992Swpaulextern int __emulated_sputrune(rune_t, char *, size_t, char **); 52199756Sjhb 5355992Swpaul_RuneLocale _DefaultRuneLocale = { 54199756Sjhb _RUNE_MAGIC_1, 5555992Swpaul "NONE", 5655992Swpaul __emulated_sgetrune, 57108401Sambrisko __emulated_sputrune, 58108401Sambrisko 0xFFFD, 59199756Sjhb 60108401Sambrisko { /*00*/ _CTYPE_C, 61199756Sjhb _CTYPE_C, 62108401Sambrisko _CTYPE_C, 63199756Sjhb _CTYPE_C, 64108401Sambrisko _CTYPE_C, 65199756Sjhb _CTYPE_C, 66108401Sambrisko _CTYPE_C, 67108401Sambrisko _CTYPE_C, 68108401Sambrisko /*08*/ _CTYPE_C, 69108401Sambrisko _CTYPE_C|_CTYPE_S|_CTYPE_B, 70108401Sambrisko _CTYPE_C|_CTYPE_S, 71199756Sjhb _CTYPE_C|_CTYPE_S, 72108401Sambrisko _CTYPE_C|_CTYPE_S, 73108401Sambrisko _CTYPE_C|_CTYPE_S, 74199756Sjhb _CTYPE_C, 75108401Sambrisko _CTYPE_C, 76108401Sambrisko /*10*/ _CTYPE_C, 77199756Sjhb _CTYPE_C, 78108401Sambrisko _CTYPE_C, 79108401Sambrisko _CTYPE_C, 80199756Sjhb _CTYPE_C, 81108401Sambrisko _CTYPE_C, 82108401Sambrisko _CTYPE_C, 8355992Swpaul _CTYPE_C, 8455992Swpaul /*18*/ _CTYPE_C, 8555992Swpaul _CTYPE_C, 8655992Swpaul _CTYPE_C, 8755992Swpaul _CTYPE_C, 88108401Sambrisko _CTYPE_C, 89108401Sambrisko _CTYPE_C, 90119156Sambrisko _CTYPE_C, 91108401Sambrisko _CTYPE_C, 92108401Sambrisko /*20*/ _CTYPE_S|_CTYPE_B|_CTYPE_R, 9355992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 9455992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 9555992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 9655992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 97108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 98108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 99108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 100108401Sambrisko /*28*/ _CTYPE_P|_CTYPE_R|_CTYPE_G, 101108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 102108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 103108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 104108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 105108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 10655992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 10755992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 10855992Swpaul /*30*/ _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|0, 10955992Swpaul _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|1, 11055992Swpaul _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|2, 11155992Swpaul _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|3, 11255992Swpaul _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|4, 11355992Swpaul _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|5, 11455992Swpaul _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|6, 11555992Swpaul _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|7, 11655992Swpaul /*38*/ _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|8, 11755992Swpaul _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X|9, 118110253Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 11955992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 12055992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 12155992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 12274698Sarchie _CTYPE_P|_CTYPE_R|_CTYPE_G, 12355992Swpaul _CTYPE_P|_CTYPE_R|_CTYPE_G, 12455992Swpaul /*40*/ _CTYPE_P|_CTYPE_R|_CTYPE_G, 12555992Swpaul _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|10, 12655992Swpaul _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|11, 127108401Sambrisko _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|12, 12855992Swpaul _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|13, 12955992Swpaul _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|14, 13055992Swpaul _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|15, 13155992Swpaul _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 13255992Swpaul /*48*/ _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 13355992Swpaul _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 13455992Swpaul _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 13555992Swpaul _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 13655992Swpaul _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 137108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 138108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 139108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 140108401Sambrisko /*50*/ _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 141108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 142108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 143108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 144108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 145108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 146108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 147108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 148108401Sambrisko /*58*/ _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 149108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 150108401Sambrisko _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A, 151108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 152108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 153108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 154108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 155108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 156108401Sambrisko /*60*/ _CTYPE_P|_CTYPE_R|_CTYPE_G, 157108401Sambrisko _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|10, 158108401Sambrisko _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|11, 159108401Sambrisko _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|12, 160108401Sambrisko _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|13, 161108401Sambrisko _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|14, 162108401Sambrisko _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A|15, 163108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 164108401Sambrisko /*68*/ _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 165108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 166108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 167108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 168108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 169108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 170108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 171108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 172108401Sambrisko /*70*/ _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 173108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 174108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 175108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 176119156Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 177119156Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 178119156Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 179119156Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 180119156Sambrisko /*78*/ _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 181108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 182108401Sambrisko _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A, 183108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 184108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 185108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 186108401Sambrisko _CTYPE_P|_CTYPE_R|_CTYPE_G, 187108401Sambrisko _CTYPE_C, 188108401Sambrisko }, 189108401Sambrisko { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 190108401Sambrisko 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 191108401Sambrisko 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 192108401Sambrisko 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 193108401Sambrisko 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 194108401Sambrisko 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 195108401Sambrisko 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 196108401Sambrisko 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 197108401Sambrisko 0x40, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 198108401Sambrisko 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 199108401Sambrisko 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 200108401Sambrisko 'x', 'y', 'z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 20155992Swpaul 0x60, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 20255992Swpaul 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 20355992Swpaul 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 20455992Swpaul 'x', 'y', 'z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 20555992Swpaul 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 20655992Swpaul 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 20755992Swpaul 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 20855992Swpaul 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 20955992Swpaul 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 21055992Swpaul 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 21155992Swpaul 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 21255992Swpaul 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 21355992Swpaul 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 21455992Swpaul 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 21555992Swpaul 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 21655992Swpaul 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 21755992Swpaul 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 21855992Swpaul 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 21955992Swpaul 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 22055992Swpaul 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 22155992Swpaul }, 22255992Swpaul { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 22355992Swpaul 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 22455992Swpaul 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 22555992Swpaul 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 22655992Swpaul 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 22755992Swpaul 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 22855992Swpaul 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 22955992Swpaul 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 23055992Swpaul 0x40, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 23155992Swpaul 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 23255992Swpaul 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 23355992Swpaul 'X', 'Y', 'Z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 23455992Swpaul 0x60, 'A', 'B', 'C', 'D', 'E', 'F', 'G', 23555992Swpaul 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 23655992Swpaul 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 23755992Swpaul 'X', 'Y', 'Z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f, 23855992Swpaul 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 239119156Sambrisko 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 24055992Swpaul 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 24155992Swpaul 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f, 24255992Swpaul 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 24355992Swpaul 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 24455992Swpaul 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 24555992Swpaul 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf, 24655992Swpaul 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 24755992Swpaul 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 24855992Swpaul 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 24955992Swpaul 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf, 25055992Swpaul 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 25155992Swpaul 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 25255992Swpaul 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 25355992Swpaul 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, 25455992Swpaul }, 25555992Swpaul}; 25655992Swpaul 25755992Swpaul_RuneLocale *_CurrentRuneLocale = &_DefaultRuneLocale; 25855992Swpaul 25955992Swpaulint __mb_cur_max = 1; 26055992Swpaulsize_t (*__mbrtowc)(wchar_t * __restrict, const char * __restrict, size_t, 26155992Swpaul mbstate_t * __restrict) = _none_mbrtowc; 26255992Swpaulsize_t (*__wcrtomb)(char * __restrict, wchar_t, mbstate_t * __restrict) = 26355992Swpaul _none_wcrtomb; 264108401Sambrisko