github.com/afumu/libc@v0.0.6/netbsd/ctype_.c (about)

     1  /*	$NetBSD: ctype_.c,v 1.20 2013/04/13 10:21:20 joerg Exp $	*/
     2  
     3  /*
     4   * Copyright (c) 1989 The Regents of the University of California.
     5   * All rights reserved.
     6   * (c) UNIX System Laboratories, Inc.
     7   * All or some portions of this file are derived from material licensed
     8   * to the University of California by American Telephone and Telegraph
     9   * Co. or Unix System Laboratories, Inc. and are reproduced herein with
    10   * the permission of UNIX System Laboratories, Inc.
    11   *
    12   * Redistribution and use in source and binary forms, with or without
    13   * modification, are permitted provided that the following conditions
    14   * are met:
    15   * 1. Redistributions of source code must retain the above copyright
    16   *    notice, this list of conditions and the following disclaimer.
    17   * 2. Redistributions in binary form must reproduce the above copyright
    18   *    notice, this list of conditions and the following disclaimer in the
    19   *    documentation and/or other materials provided with the distribution.
    20   * 3. Neither the name of the University nor the names of its contributors
    21   *    may be used to endorse or promote products derived from this software
    22   *    without specific prior written permission.
    23   *
    24   * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
    25   * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    26   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    27   * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
    28   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
    29   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
    30   * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
    31   * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
    32   * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
    33   * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    34   * SUCH DAMAGE.
    35   */
    36  
    37  #include <sys/cdefs.h>
    38  #if defined(LIBC_SCCS) && !defined(lint)
    39  #if 0
    40  /*static char *sccsid = "from: @(#)ctype_.c	5.6 (Berkeley) 6/1/90";*/
    41  #else
    42  __RCSID("$NetBSD: ctype_.c,v 1.20 2013/04/13 10:21:20 joerg Exp $");
    43  #endif
    44  #endif /* LIBC_SCCS and not lint */
    45  
    46  #include <sys/ctype_bits.h>
    47  #include <stdio.h>
    48  #include "ctype_local.h"
    49  
    50  #if EOF != -1
    51  #error "EOF != -1"
    52  #endif
    53  
    54  #ifdef __BUILD_LEGACY
    55  #define	_C	_COMPAT_C
    56  #define	_S	_COMPAT_S
    57  #define	_U	_COMPAT_U
    58  #define	_X	_COMPAT_X
    59  #define	_L	_COMPAT_L
    60  #define	_P	_COMPAT_P
    61  #define	_B	_COMPAT_B
    62  #define	_N	_COMPAT_N
    63  
    64  const unsigned char _C_compat_bsdctype[1 + _CTYPE_NUM_CHARS] = {
    65  	0,
    66  	_C,	_C,	_C,	_C,	_C,	_C,	_C,	_C,
    67  	_C,	_C|_S,	_C|_S,	_C|_S,	_C|_S,	_C|_S,	_C,	_C,
    68  	_C,	_C,	_C,	_C,	_C,	_C,	_C,	_C,
    69  	_C,	_C,	_C,	_C,	_C,	_C,	_C,	_C,
    70  	_S|_B,	_P,	_P,	_P,	_P,	_P,	_P,	_P,
    71  	_P,	_P,	_P,	_P,	_P,	_P,	_P,	_P,
    72  	_N,	_N,	_N,	_N,	_N,	_N,	_N,	_N,
    73  	_N,	_N,	_P,	_P,	_P,	_P,	_P,	_P,
    74  	_P,	_U|_X,	_U|_X,	_U|_X,	_U|_X,	_U|_X,	_U|_X,	_U,
    75  	_U,	_U,	_U,	_U,	_U,	_U,	_U,	_U,
    76  	_U,	_U,	_U,	_U,	_U,	_U,	_U,	_U,
    77  	_U,	_U,	_U,	_P,	_P,	_P,	_P,	_P,
    78  	_P,	_L|_X,	_L|_X,	_L|_X,	_L|_X,	_L|_X,	_L|_X,	_L,
    79  	_L,	_L,	_L,	_L,	_L,	_L,	_L,	_L,
    80  	_L,	_L,	_L,	_L,	_L,	_L,	_L,	_L,
    81  	_L,	_L,	_L,	_P,	_P,	_P,	_P,	_C
    82  };
    83  
    84  #undef _C
    85  #undef _S
    86  #undef _U
    87  #undef _X
    88  #undef _L
    89  #undef _P
    90  #undef _B
    91  #undef _N
    92  
    93  #ifdef __weak_alias
    94  __weak_alias(_C_ctype_, _C_compat_bsdctype)
    95  #endif
    96  
    97  const unsigned char *_ctype_ = &_C_compat_bsdctype[0];
    98  #endif /* __BUILD_LEGACY */
    99  
   100  #define	_A	_CTYPE_A
   101  #define	_BL	_CTYPE_BL
   102  #define	_C	_CTYPE_C
   103  #define	_D	_CTYPE_D
   104  #define	_G	_CTYPE_G
   105  #define	_L	_CTYPE_L
   106  #define	_P	_CTYPE_P
   107  #define	_R	_CTYPE_R
   108  #define	_S	_CTYPE_S
   109  #define	_U	_CTYPE_U
   110  #define	_X	_CTYPE_X
   111  
   112  const unsigned short _C_ctype_tab_[1 + _CTYPE_NUM_CHARS] = {
   113  	0,
   114  	_C,		_C,		_C,		_C,
   115  	_C,		_C,		_C,		_C,
   116  	_C,		_BL|_C|_S,	_C|_S,		_C|_S,
   117  	_C|_S,		_C|_S,		_C,		_C,
   118  	_C,		_C,		_C,		_C,
   119  	_C,		_C,		_C,		_C,
   120  	_C,		_C,		_C,		_C,
   121  	_C,		_C,		_C,		_C,
   122  	_BL|_R|_S,	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,
   123  	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,
   124  	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,
   125  	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,
   126  	_D|_G|_R|_X,	_D|_G|_R|_X,	_D|_G|_R|_X,	_D|_G|_R|_X,
   127  	_D|_G|_R|_X,	_D|_G|_R|_X,	_D|_G|_R|_X,	_D|_G|_R|_X,
   128  	_D|_G|_R|_X,	_D|_G|_R|_X,	_G|_R|_P,	_G|_R|_P,
   129  	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,
   130  	_G|_R|_P,	_A|_G|_R|_U|_X,	_A|_G|_R|_U|_X,	_A|_G|_R|_U|_X,
   131  	_A|_G|_R|_U|_X,	_A|_G|_R|_U|_X,	_A|_G|_R|_U|_X,	_A|_G|_R|_U,
   132  	_A|_G|_R|_U,	_A|_G|_R|_U,	_A|_G|_R|_U,	_A|_G|_R|_U,
   133  	_A|_G|_R|_U,	_A|_G|_R|_U,	_A|_G|_R|_U,	_A|_G|_R|_U,
   134  	_A|_G|_R|_U,	_A|_G|_R|_U,	_A|_G|_R|_U,	_A|_G|_R|_U,
   135  	_A|_G|_R|_U,	_A|_G|_R|_U,	_A|_G|_R|_U,	_A|_G|_R|_U,
   136  	_A|_G|_R|_U,	_A|_G|_R|_U,	_A|_G|_R|_U,	_G|_R|_P,
   137  	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,
   138  	_G|_R|_P,	_A|_G|_L|_R|_X,	_A|_G|_L|_R|_X,	_A|_G|_L|_R|_X,
   139  	_A|_G|_L|_R|_X,	_A|_G|_L|_R|_X,	_A|_G|_L|_R|_X,	_A|_G|_L|_R,
   140  	_A|_G|_L|_R,	_A|_G|_L|_R,	_A|_G|_L|_R,	_A|_G|_L|_R,
   141  	_A|_G|_L|_R,	_A|_G|_L|_R,	_A|_G|_L|_R,	_A|_G|_L|_R,
   142  	_A|_G|_L|_R,	_A|_G|_L|_R,	_A|_G|_L|_R,	_A|_G|_L|_R,
   143  	_A|_G|_L|_R,	_A|_G|_L|_R,	_A|_G|_L|_R,	_A|_G|_L|_R,
   144  	_A|_G|_L|_R,	_A|_G|_L|_R,	_A|_G|_L|_R,	_G|_R|_P,
   145  	_G|_R|_P,	_G|_R|_P,	_G|_R|_P,	_C,
   146  };
   147  
   148  #undef _A
   149  #undef _BL
   150  #undef _C
   151  #undef _D
   152  #undef _G
   153  #undef _L
   154  #undef _P
   155  #undef _R
   156  #undef _S
   157  #undef _U
   158  #undef _X
   159  
   160  const unsigned short *_ctype_tab_ = &_C_ctype_tab_[0];