table.c revision 2d08521bd15501c8370ba2153b9cca4f094979d0
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/*
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Copyright 2013 Garrett D'Amore <garrett@damore.org>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Copyright 2010 Nexenta Systems, Inc. All rights reserved.
3e14f97f673e8a630f076077de35afdd43dc1587Roger A. Faulkner * Copyright (c) 1993
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * The Regents of the University of California. All rights reserved.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *
7c2fbfb345896881c631598ee3852ce9ce33fb07April Chin * This code is derived from software contributed to Berkeley by
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Paul Borman at Krystal Technologies.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * Redistribution and use in source and binary forms, with or without
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * modification, are permitted provided that the following conditions
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * are met:
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * 1. Redistributions of source code must retain the above copyright
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * notice, this list of conditions and the following disclaimer.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * 2. Redistributions in binary form must reproduce the above copyright
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * notice, this list of conditions and the following disclaimer in the
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * documentation and/or other materials provided with the distribution.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * 4. Neither the name of the University nor the names of its contributors
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * may be used to endorse or promote products derived from this software
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * without specific prior written permission.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin *
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin * SUCH DAMAGE.
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include "lint.h"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <ctype.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include <wchar.h>
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include "runetype.h"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include "mblocal.h"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin#include "_ctype.h"
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin_RuneLocale _DefaultRuneLocale = {
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _RUNE_MAGIC_1,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin "NONE",
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin {
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 00 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 08 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C|_CTYPE_S|_CTYPE_B,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C|_CTYPE_S,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C|_CTYPE_S,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C|_CTYPE_S,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C|_CTYPE_S,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 10 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 18 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 20 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_S|_CTYPE_B|_CTYPE_R,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 28 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 30 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 38 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_D|_CTYPE_R|_CTYPE_G|_CTYPE_X,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 40 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 48 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 50 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 58 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_U|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 60 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_X|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 68 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 70 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* 78 */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_L|_CTYPE_R|_CTYPE_G|_CTYPE_A,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_P|_CTYPE_R|_CTYPE_G,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin _CTYPE_C,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin },
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* BEGIN CSTYLED */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin {
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x40, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'x', 'y', 'z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x60, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'x', 'y', 'z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin },
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin {
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x40, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'X', 'Y', 'Z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x60, 'A', 'B', 'C', 'D', 'E', 'F', 'G',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 'X', 'Y', 'Z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff,
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin },
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin /* END CSTYLED */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin};
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin/* Taken from former _ctype.c */
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinunsigned int *__ctype_mask = _DefaultRuneLocale.__runetype;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinint *__trans_lower = _DefaultRuneLocale.__maplower;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chinint *__trans_upper = _DefaultRuneLocale.__mapupper;
da2e3ebdc1edfbc5028edf1354e7dd2fa69a7968chin