summaryrefslogtreecommitdiff
path: root/ctype/ctype.h
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-09-01 12:39:40 +0000
committerRoland McGrath <roland@gnu.org>2002-09-01 12:39:40 +0000
commit0f283ffc5e8822a367c4703abd584348ff139810 (patch)
treeea4e3a9a5c4dca2c51fb8cb08995de41b2bf998e /ctype/ctype.h
parent0ba454fccb56eb5890ad692949323af6ad64189c (diff)
* sysdeps/generic/libc-tls.c (__pthread_initialize_minimal): Pass
TLS_INIT_TCB_SIZE, TLS_INIT_TCB_ALIGN instead of 0, 1. * include/getopt.h: Include <features.h> before <posix/getopt.h>. * locale/findlocale.c (_nl_remove_locale): Don't search in _nl_locale_file_list if DATA->alloc is ld_archive. Use _nl_unload_locale to do the rest of the work. * locale/loadarchive.c (_nl_load_locale_from_archive): Set usage_count of new structure to UNDELETABLE. * wctype/wctype.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswlower, iswgraph, iswprint, iswpunct, iswspace, iswupper, iswxdigit, iswblank, towlower, towupper): Macros removed. * ctype/ctype.h (__tobody): Put parens around macro argument. (__isctype): Macro removed. (__ctype_b, __ctype_tolower, __ctype_toupper): Decls removed. (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, tolower, toupper): Macros and inlines removed. * include/ctype.h [! NOT_IN_libc] (isalnum, isalpha, iscntrl, isdigit, islower, isgraph, isprint, ispunct, isspace, isupper, isxdigit, isblank, _tolower, _toupper, tolower, toupper): Define here instead, using _NL_CURRENT. * ctype/ctype.c (__ctype_tolower, __ctype_toupper): Define as macros using _NL_CURRENT. * ctype/ctype-extn.c (__ctype_tolower, __ctype_toupper): Likewise. * ctype/ctype-info.c (__ctype_b, __ctype_tolower, __ctype_toupper): Renamed these to __ctype_old_*. Define old names only for SHLIB_COMPAT. (__ctype32_b, __ctype32_tolower, __ctype32_toupper): Likewise. (__ctype32_wctrans, __ctype32_wctrans, __ctype32_width): Removed. * locale/lc-ctype.c (_nl_postload_ctype): Use renamed variables, conditional on SHLIB_COMPAT. Don't set removed variables at all. * wctype/wcfuncs.c: Use _NL_CURRENT instead of those globals. * wcsmbs/wcwidth.h (internal_wcwidth): Likewise. * resolv/res_init.c [RESOLVSORT] (sort_mask): Renamed sort_mask_chars. (ISSORTMASK): Update use. * intl/localealias.c [__GNUC__]: #undef alloca before #define. * nss/nss_files/files-XXX.c (last_use): Rename `none' to `nouse'. (_nss_files_getENTNAME_r): Likewise. * nss/nss_files/files-alias.c (last_use, _nss_files_getaliasent_r): Likewise. * Makerules (all-nonlib): Renamed from all-tests. Include $(others) here too. * locale/Makefile (CPPFLAGS-locale, CPPFLAGS-localedef, CPPFLAGS-ld-ctype, CPPFLAGS-ld-time, CPPFLAGS-ld-numeric, CPPFLAGS-ld-monetary, CPPFLAGS-ld-collate, CPPFLAGS-ld-identification, CPPFLAGS-charmap, CPPFLAGS-locarchive, CPPFLAGS-linereader, CPPFLAGS-charmap-dir): Variables removed. Instead, catch all the program modules via cppflags-iterator.mk. * sunrpc/Makefile (CPPFLAGS-rpc_main): Variable removed. Instead, catch all rpcgen-objs via cppflags-iterator.mk. * posix/tst-getconf.sh: If no third arg, work with static linking.
Diffstat (limited to 'ctype/ctype.h')
-rw-r--r--ctype/ctype.h63
1 files changed, 3 insertions, 60 deletions
diff --git a/ctype/ctype.h b/ctype/ctype.h
index 47fba836ca..9469907b27 100644
--- a/ctype/ctype.h
+++ b/ctype/ctype.h
@@ -62,31 +62,13 @@ enum
};
#endif /* ! _ISbit */
-/* These are defined in ctype-info.c.
- The declarations here must match those in localeinfo.h.
-
- These point into arrays of 384, so they can be indexed by any `unsigned
- char' value [0,255]; by EOF (-1); or by any `signed char' value
- [-128,-1). ISO C requires that the ctype functions work for `unsigned
- char' values and for EOF; we also support negative `signed char' values
- for broken old programs. The case conversion arrays are of `int's
- rather than `unsigned char's because tolower (EOF) must be EOF, which
- doesn't fit into an `unsigned char'. But today more important is that
- the arrays are also used for multi-byte character sets. */
-extern __const unsigned short int *__ctype_b; /* Characteristics. */
-extern __const __int32_t *__ctype_tolower; /* Case conversions. */
-extern __const __int32_t *__ctype_toupper; /* Case conversions. */
-
-#define __isctype(c, type) \
- (__ctype_b[(int) (c)] & (unsigned short int) type)
-
#define __isascii(c) (((c) & ~0x7f) == 0) /* If C is a 7 bit value. */
#define __toascii(c) ((c) & 0x7f) /* Mask off high bits. */
#define __exctype(name) extern int name (int) __THROW
-
__BEGIN_NAMESPACE_STD
+
/* The following names are all functions:
int isCHARACTERISTIC(int c);
which return nonzero iff C has CHARACTERISTIC.
@@ -147,59 +129,20 @@ __exctype (_tolower);
if (__builtin_constant_p (c)) \
{ \
int __c = (c); \
- __res = __c < -128 || __c > 255 ? __c : a[__c]; \
+ __res = __c < -128 || __c > 255 ? __c : (a)[__c]; \
} \
else \
__res = f args; \
} \
else \
- __res = a[(int) (c)]; \
+ __res = (a)[(int) (c)]; \
__res; }))
#if !defined __NO_CTYPE && !defined __cplusplus
-# define isalnum(c) __isctype((c), _ISalnum)
-# define isalpha(c) __isctype((c), _ISalpha)
-# define iscntrl(c) __isctype((c), _IScntrl)
-# define isdigit(c) __isctype((c), _ISdigit)
-# define islower(c) __isctype((c), _ISlower)
-# define isgraph(c) __isctype((c), _ISgraph)
-# define isprint(c) __isctype((c), _ISprint)
-# define ispunct(c) __isctype((c), _ISpunct)
-# define isspace(c) __isctype((c), _ISspace)
-# define isupper(c) __isctype((c), _ISupper)
-# define isxdigit(c) __isctype((c), _ISxdigit)
-
-# ifdef __USE_ISOC99
-# define isblank(c) __isctype((c), _ISblank)
-# endif
-
-# ifdef __USE_EXTERN_INLINES
-extern __inline int
-tolower (int __c) __THROW
-{
- return __c >= -128 && __c < 256 ? __ctype_tolower[__c] : __c;
-}
-
-extern __inline int
-toupper (int __c) __THROW
-{
- return __c >= -128 && __c < 256 ? __ctype_toupper[__c] : __c;
-}
-# endif
-
-# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus
-# define tolower(c) __tobody (c, tolower, __ctype_tolower, (c))
-# define toupper(c) __tobody (c, toupper, __ctype_toupper, (c))
-# endif /* Optimizing gcc */
-
# if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN
# define isascii(c) __isascii (c)
# define toascii(c) __toascii (c)
-
-# define _tolower(c) ((int) __ctype_tolower[(int) (c)])
-# define _toupper(c) ((int) __ctype_toupper[(int) (c)])
# endif
-
#endif /* Not __NO_CTYPE. */