📄 glue-ctype.c
字号:
/* Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.This file is part of the GNU C Library.The GNU C Library is free software; you can redistribute it and/ormodify it under the terms of the GNU Library General Public License aspublished by the Free Software Foundation; either version 2 of theLicense, or (at your option) any later version.The GNU C Library is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNULibrary General Public License for more details.You should have received a copy of the GNU Library General PublicLicense along with the GNU C Library; see the file COPYING.LIB. Ifnot, write to the Free Software Foundation, Inc., 675 Mass Ave,Cambridge, MA 02139, USA. *//* Different systems have different names for the array. This order is important for some systems. */#if !defined(TABLE) && defined(HAVE__LOCP)/* OSF/1 has the name _ctype defined as a macro, which points down into the _locp structure. Jesus. We'll hope this works. We need to check for LOCP first, since there is no symbol actually named _ctype in their library. */#include <sys/types.h> /* for wchar_t used by localdef.h */#include <sys/localedef.h>extern loc_t *_locp;#define TABLE (_locp->lc_chrtbl)->lc_ctype#undef _ctype#define TABLE_NAME _ctype#endif#ifdef HAVE__CTYPE__#define TABLE _ctype__#endif#if !defined(TABLE) && defined(HAVE__CTYPE)#define TABLE _ctype#endif#if !defined(TABLE) && defined(HAVE__CTYPE_)#define TABLE _ctype_#endif#if !defined(TABLE) && defined(HAVE___CTYPE_)#define TABLE __ctype_#endif#if !defined(TABLE) && defined(HAVE___CTYPE)#define TABLE __ctype#endif#if defined (__STDC__) && __STDC__#define STRINGIFY(arg) #arg#else#define STRINGIFY(arg) "arg"#endif#define EVALLED_STRINGIFY(x) STRINGIFY (x)main (){#ifdef TABLE int i;#ifndef HAVE__LOCP /* This won't work for the define to look into _locp. */ extern unsigned char TABLE[];#endif puts ("#include <ansidecl.h>");#ifdef TABLE_NAME printf ("CONST unsigned char %s[] =\n {\n", EVALLED_STRINGIFY (TABLE_NAME));#else printf ("CONST unsigned char %s[] =\n {\n", EVALLED_STRINGIFY (TABLE));#endif for (i = -1; i < 256; ++i) printf (" %d,\n", (int) ((TABLE+1)[i])); puts (" };");#else puts ("/* I don't know what the ctype table is called on this system."); puts (" If there is a table, and you want the ctype glue to work,"); puts (" edit configure.in and glue-ctype.c in sysdeps/unix/common/"); puts (" to check for the right name. */");#endif exit (0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -