* locale/Versions (libc: GLIBC_2.3): Add all the *_l functions

with no __ prefix.
	* locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l.
	* ctype/ctype.h [__USE_GNU]: Add declarations and macros for
	all *_l functions with no __ prefix.
	* wctype/wcfuncs_l.c: Define weak aliases without __ for all fns.
	* ctype/ctype_l.c: Likewise.
	* locale/nl_langinfo.c: Likewise.
	* string/string.h [__USE_GNU]: Add decls for all *_l fns with no __.
	* stdlib/stdlib.h [__USE_GNU]: Likewise.
	* wcsmbs/wchar.h [__USE_GNU]: Likewise.
	* wctype/wctype.h [__USE_GNU]: Likewise.
	* string/strcoll_l.c (strcoll_l): Define as weak alias.
	* string/strxfrm_l.c (strxfrm_l): Define as weak alias.
	* sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias.
	* sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias.
	* stdlib/strtod_l.c (strtod_l): Define as weak alias.
	* stdlib/strtof_l.c (strtof_l): Define as weak alias.
	* stdlib/strtold_l.c (strtold_l): Define as weak alias.
	* wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias.
	(__wcscasecmp_l): Add libc_hidden_def.
	* wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias.
	(__wcsncasecmp_l): Add libc_hidden_def.
	* wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias.
	* wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias.
	* wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias.
	* wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias.
	* wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias.
	* sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias.
	* sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias.
	* sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias.
	* sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias.
	* sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias.
	* sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias.
	* wctype/wctrans_l.c (wctrans_l) Define as weak alias.
	* wctype/towctrans_l.c (towctrans_l) Define as weak alias.
	* wctype/wctype_l.c (wctype_l) Define as weak alias.
This commit is contained in:
Roland McGrath 2002-08-06 08:40:20 +00:00
parent 9b0b40d35e
commit 1ab62b326e
34 changed files with 284 additions and 69 deletions

View File

@ -1,3 +1,43 @@
2002-08-06 Roland McGrath <roland@redhat.com>
* locale/Versions (libc: GLIBC_2.3): Add all the *_l functions
with no __ prefix.
* locale/langinfo.h [__USE_GNU]: Declare nl_langinfo_l.
* ctype/ctype.h [__USE_GNU]: Add declarations and macros for
all *_l functions with no __ prefix.
* wctype/wcfuncs_l.c: Define weak aliases without __ for all fns.
* ctype/ctype_l.c: Likewise.
* locale/nl_langinfo.c: Likewise.
* string/string.h [__USE_GNU]: Add decls for all *_l fns with no __.
* stdlib/stdlib.h [__USE_GNU]: Likewise.
* wcsmbs/wchar.h [__USE_GNU]: Likewise.
* wctype/wctype.h [__USE_GNU]: Likewise.
* string/strcoll_l.c (strcoll_l): Define as weak alias.
* string/strxfrm_l.c (strxfrm_l): Define as weak alias.
* sysdeps/generic/strcasecmp_l.c (strcasecmp_l): Define as weak alias.
* sysdeps/generic/strncase_l.c (strncasecmp_l): Define as weak alias.
* stdlib/strtod_l.c (strtod_l): Define as weak alias.
* stdlib/strtof_l.c (strtof_l): Define as weak alias.
* stdlib/strtold_l.c (strtold_l): Define as weak alias.
* wcsmbs/wcscasecmp_l.c (wcscasecmp_l): Define as weak alias.
(__wcscasecmp_l): Add libc_hidden_def.
* wcsmbs/wcsncase_l.c (wcsncasecmp_l): Define as weak alias.
(__wcsncasecmp_l): Add libc_hidden_def.
* wcsmbs/wcstof_l.c (wcstof_l): Define as weak alias.
* wcsmbs/wcstod_l.c (wcstod_l): Define as weak alias.
* wcsmbs/wcstold_l.c (wcstold_l): Define as weak alias.
* wcsmbs/wcscoll_l.c (wcscoll_l): Define as weak alias.
* wcsmbs/wcsxfrm_l.c (wcsxfrm_l): Define as weak alias.
* sysdeps/generic/wcstol_l.c (wcstol_l): Define as weak alias.
* sysdeps/generic/wcstoll_l.c (wcstoll_l): Define as weak alias.
* sysdeps/generic/wcstoul_l.c (wcstoul_l): Define as weak alias.
* sysdeps/generic/wcstoull_l.c (wcstoull_l): Define as weak alias.
* sysdeps/wordsize-64/wcstol_l.c (wcstoll_l): Define as weak alias.
* sysdeps/wordsize-64/wcstoul_l.c (wcstoull_l): Define as weak alias.
* wctype/wctrans_l.c (wctrans_l) Define as weak alias.
* wctype/towctrans_l.c (towctrans_l) Define as weak alias.
* wctype/wctype_l.c (wctype_l) Define as weak alias.
2002-08-05 Roland McGrath <roland@redhat.com> 2002-08-05 Roland McGrath <roland@redhat.com>
* include/rpc/auth.h: Use libc_hidden_proto for getnetname, * include/rpc/auth.h: Use libc_hidden_proto for getnetname,

View File

@ -1,4 +1,5 @@
/* Copyright (C) 1991,92,93,95,96,97,98,99,2001 Free Software Foundation, Inc. /* Copyright (C) 1991,92,93,95,96,97,98,99,2001,02
Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -214,38 +215,44 @@ toupper (int __c) __THROW
# define __isctype_l(c, type, locale) \ # define __isctype_l(c, type, locale) \
((locale)->__ctype_b[(int) (c)] & (unsigned short int) type) ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type)
# define __exctype_l(name) extern int name (int, __locale_t) __THROW # define __exctype_l(name) \
extern int name (int, __locale_t) __THROW; \
extern int __##name (int, __locale_t) __THROW
/* The following names are all functions: /* The following names are all functions:
int isCHARACTERISTIC(int c, locale_t *locale); int isCHARACTERISTIC(int c, locale_t *locale);
which return nonzero iff C has CHARACTERISTIC. which return nonzero iff C has CHARACTERISTIC.
For the meaning of the characteristic names, see the `enum' above. */ For the meaning of the characteristic names, see the `enum' above. */
__exctype_l (__isalnum_l); __exctype_l (isalnum_l);
__exctype_l (__isalpha_l); __exctype_l (isalpha_l);
__exctype_l (__iscntrl_l); __exctype_l (iscntrl_l);
__exctype_l (__isdigit_l); __exctype_l (isdigit_l);
__exctype_l (__islower_l); __exctype_l (islower_l);
__exctype_l (__isgraph_l); __exctype_l (isgraph_l);
__exctype_l (__isprint_l); __exctype_l (isprint_l);
__exctype_l (__ispunct_l); __exctype_l (ispunct_l);
__exctype_l (__isspace_l); __exctype_l (isspace_l);
__exctype_l (__isupper_l); __exctype_l (isupper_l);
__exctype_l (__isxdigit_l); __exctype_l (isxdigit_l);
__exctype_l (__isblank_l); __exctype_l (isblank_l);
/* Return the lowercase version of C in locale L. */ /* Return the lowercase version of C in locale L. */
extern int __tolower_l (int __c, __locale_t __l) __THROW; extern int __tolower_l (int __c, __locale_t __l) __THROW;
extern int tolower_l (int __c, __locale_t __l) __THROW;
/* Return the uppercase version of C. */ /* Return the uppercase version of C. */
extern int __toupper_l (int __c, __locale_t __l) __THROW; extern int __toupper_l (int __c, __locale_t __l) __THROW;
extern int toupper_l (int __c, __locale_t __l) __THROW;
# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus # if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus
# define __tolower_l(c, locale) \ # define __tolower_l(c, locale) \
__tobody (c, __tolower_l, (locale)->__ctype_tolower, (c, locale)) __tobody (c, __tolower_l, (locale)->__ctype_tolower, (c, locale))
# define __toupper_l(c, locale) \ # define __toupper_l(c, locale) \
__tobody (c, __toupper_l, (locale)->__ctype_toupper, (c, locale)) __tobody (c, __toupper_l, (locale)->__ctype_toupper, (c, locale))
# define tolower_l(c, locale) __tolower_l ((c), (locale))
# define toupper_l(c, locale) __toupper_l ((c), (locale))
# endif /* Optimizing gcc */ # endif /* Optimizing gcc */
@ -265,8 +272,27 @@ extern int __toupper_l (int __c, __locale_t __l) __THROW;
# define __isblank_l(c,l) __isctype_l((c), _ISblank, (l)) # define __isblank_l(c,l) __isctype_l((c), _ISblank, (l))
# if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN # if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN
# define __isascii_l(c,l) __isascii(c) # define __isascii_l(c,l) ((l), __isascii (c))
# define __toascii_l(c,l) __toascii(c) # define __toascii_l(c,l) ((l), __toascii (c))
# endif
# define isalnum_l(c,l) __isalnum_l ((c), (l))
# define isalpha_l(c,l) __isalpha_l ((c), (l))
# define iscntrl_l(c,l) __iscntrl_l ((c), (l))
# define isdigit_l(c,l) __isdigit_l ((c), (l))
# define islower_l(c,l) __islower_l ((c), (l))
# define isgraph_l(c,l) __isgraph_l ((c), (l))
# define isprint_l(c,l) __isprint_l ((c), (l))
# define ispunct_l(c,l) __ispunct_l ((c), (l))
# define isspace_l(c,l) __isspace_l ((c), (l))
# define isupper_l(c,l) __isupper_l ((c), (l))
# define isxdigit_l(c,l) __isxdigit_l ((c), (l))
# define isblank_l(c,l) __isblank_l ((c), (l))
# if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN
# define isascii_l(c,l) __isascii ((c), (l))
# define toascii_l(c,l) __toascii ((c), (l))
# endif # endif
# endif /* Not __NO_CTYPE. */ # endif /* Not __NO_CTYPE. */

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991, 1992, 1997, 2001 Free Software Foundation, Inc. /* Copyright (C) 1991,92,97,2001,02 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -22,28 +22,31 @@
/* Provide real-function versions of all the ctype macros. */ /* Provide real-function versions of all the ctype macros. */
#define func(name, type) \ #define func(name, type) \
int name (int c, __locale_t l) { return __isctype_l (c, type, l); } int __##name (int c, __locale_t l) { return __isctype_l (c, type, l); } \
weak_alias (__##name, name)
func (__isalnum_l, _ISalnum) func (isalnum_l, _ISalnum)
func (__isalpha_l, _ISalpha) func (isalpha_l, _ISalpha)
func (__iscntrl_l, _IScntrl) func (iscntrl_l, _IScntrl)
func (__isdigit_l, _ISdigit) func (isdigit_l, _ISdigit)
func (__islower_l, _ISlower) func (islower_l, _ISlower)
func (__isgraph_l, _ISgraph) func (isgraph_l, _ISgraph)
func (__isprint_l, _ISprint) func (isprint_l, _ISprint)
func (__ispunct_l, _ISpunct) func (ispunct_l, _ISpunct)
func (__isspace_l, _ISspace) func (isspace_l, _ISspace)
func (__isupper_l, _ISupper) func (isupper_l, _ISupper)
func (__isxdigit_l, _ISxdigit) func (isxdigit_l, _ISxdigit)
int int
(__tolower_l) (int c, __locale_t l) (__tolower_l) (int c, __locale_t l)
{ {
return l->__ctype_tolower[c]; return l->__ctype_tolower[c];
} }
weak_alias (__tolower_l, tolower_l)
int int
(__toupper_l) (int c, __locale_t l) (__toupper_l) (int c, __locale_t l)
{ {
return l->__ctype_toupper[c]; return l->__ctype_toupper[c];
} }
weak_alias (__toupper_l, toupper_l)

View File

@ -49,6 +49,19 @@ libc {
GLIBC_2.3 { GLIBC_2.3 {
# the new "experimental" interface is now public # the new "experimental" interface is now public
newlocale; duplocale; freelocale; uselocale; newlocale; duplocale; freelocale; uselocale;
isalnum_l; isalpha_l; isascii_l; isblank_l; iscntrl_l;
isdigit_l; isgraph_l; islower_l; isprint_l; ispunct_l;
isspace_l; isupper_l; iswalnum_l; iswalpha_l; iswblank_l;
iswcntrl_l; iswctype_l; iswdigit_l; iswgraph_l; iswlower_l;
iswprint_l; iswpunct_l; iswspace_l; iswupper_l; iswxdigit_l;
isxdigit_l; strcasecmp_l; strcoll_l; strfmon_l; strncasecmp_l;
strtod_l; strtof_l; strtol_l; strtold_l; strtoll_l; strtoul_l;
strtoull_l; strxfrm_l; toascii_l; tolower_l; toupper_l;
towctrans_l; towlower_l; towupper_l; wcscasecmp_l; wcscoll_l;
wcsncasecmp_l; wcstod_l; wcstof_l; wcstol_l; wcstold_l;
wcstoll_l; wcstoul_l; wcstoull_l; wcsxfrm_l; wctype_l;
wctrans_l; nl_langinfo_l;
} }
GLIBC_PRIVATE { GLIBC_PRIVATE {
# global variables # global variables

View File

@ -1,5 +1,5 @@
/* Access to locale-dependent parameters. /* Access to locale-dependent parameters.
Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. Copyright (C) 1995-99,2000,01,02 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -584,6 +584,7 @@ extern char *nl_langinfo (nl_item __item) __THROW;
/* Just like nl_langinfo but get the information from the locale object L. */ /* Just like nl_langinfo but get the information from the locale object L. */
extern char *__nl_langinfo_l (nl_item __item, __locale_t l); extern char *__nl_langinfo_l (nl_item __item, __locale_t l);
extern char *nl_langinfo_l (nl_item __item, __locale_t l);
#endif #endif
__END_DECLS __END_DECLS

View File

@ -58,6 +58,8 @@ nl_langinfo (item)
/* Return the string for the specified item. */ /* Return the string for the specified item. */
return (char *) data->values[index].string; return (char *) data->values[index].string;
} }
#ifndef USE_IN_EXTENDED_LOCALE_MODEL #ifdef USE_IN_EXTENDED_LOCALE_MODEL
weak_alias (__nl_langinfo_l, nl_langinfo_l)
#else
libc_hidden_def (nl_langinfo) libc_hidden_def (nl_langinfo)
#endif #endif

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1991-1999, 2000, 2001 Free Software Foundation, Inc. /* Copyright (C) 1991-99,2000,01,02 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -215,32 +215,55 @@ extern unsigned long long int strtoull (__const char *__restrict __nptr,
extern long int __strtol_l (__const char *__restrict __nptr, extern long int __strtol_l (__const char *__restrict __nptr,
char **__restrict __endptr, int __base, char **__restrict __endptr, int __base,
__locale_t __loc) __THROW; __locale_t __loc) __THROW;
extern long int strtol_l (__const char *__restrict __nptr,
char **__restrict __endptr, int __base,
__locale_t __loc) __THROW;
extern unsigned long int __strtoul_l (__const char *__restrict __nptr, extern unsigned long int __strtoul_l (__const char *__restrict __nptr,
char **__restrict __endptr, char **__restrict __endptr,
int __base, __locale_t __loc) __THROW; int __base, __locale_t __loc) __THROW;
extern unsigned long int strtoul_l (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, __locale_t __loc) __THROW;
__extension__ __extension__
extern long long int __strtoll_l (__const char *__restrict __nptr, extern long long int __strtoll_l (__const char *__restrict __nptr,
char **__restrict __endptr, int __base, char **__restrict __endptr, int __base,
__locale_t __loc) __THROW; __locale_t __loc) __THROW;
__extension__
extern long long int strtoll_l (__const char *__restrict __nptr,
char **__restrict __endptr, int __base,
__locale_t __loc) __THROW;
__extension__ __extension__
extern unsigned long long int __strtoull_l (__const char *__restrict __nptr, extern unsigned long long int __strtoull_l (__const char *__restrict __nptr,
char **__restrict __endptr, char **__restrict __endptr,
int __base, __locale_t __loc) int __base, __locale_t __loc)
__THROW; __THROW;
__extension__
extern unsigned long long int strtoull_l (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, __locale_t __loc)
__THROW;
extern double __strtod_l (__const char *__restrict __nptr, extern double __strtod_l (__const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc) char **__restrict __endptr, __locale_t __loc)
__THROW; __THROW;
extern double strtod_l (__const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc)
__THROW;
extern float __strtof_l (__const char *__restrict __nptr, extern float __strtof_l (__const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc) __THROW; char **__restrict __endptr, __locale_t __loc) __THROW;
extern float strtof_l (__const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc) __THROW;
extern long double __strtold_l (__const char *__restrict __nptr, extern long double __strtold_l (__const char *__restrict __nptr,
char **__restrict __endptr, char **__restrict __endptr,
__locale_t __loc) __THROW; __locale_t __loc) __THROW;
extern long double strtold_l (__const char *__restrict __nptr,
char **__restrict __endptr,
__locale_t __loc) __THROW;
#endif /* GNU */ #endif /* GNU */

View File

@ -1,5 +1,5 @@
/* Convert string representing a number to float value, using given locale. /* Convert string representing a number to float value, using given locale.
Copyright (C) 1997, 1998 Free Software Foundation, Inc. Copyright (C) 1997,98,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -27,3 +27,5 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
int, int, __locale_t); int, int, __locale_t);
#include <strtod.c> #include <strtod.c>
weak_alias (__strtod_l, strtod_l)

View File

@ -1,5 +1,5 @@
/* Convert string representing a number to float value, using given locale. /* Convert string representing a number to float value, using given locale.
Copyright (C) 1997, 1998 Free Software Foundation, Inc. Copyright (C) 1997,98,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -27,3 +27,5 @@ extern unsigned long long int ____strtoull_l_internal (const char *, char **,
int, int, __locale_t); int, int, __locale_t);
#include <strtof.c> #include <strtof.c>
weak_alias (__strtof_l, strtof_l)

View File

@ -1,5 +1,5 @@
/* Convert string representing a number to float value, using given locale. /* Convert string representing a number to float value, using given locale.
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. Copyright (C) 1997,98,99,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -49,3 +49,5 @@ __strtold_l (const char *nptr, char **endptr, __locale_t loc)
return ____strtod_l_internal (nptr, endptr, 0, loc); return ____strtod_l_internal (nptr, endptr, 0, loc);
} }
#endif #endif
weak_alias (__strtold_l, strtold_l)

View File

@ -1,6 +1,6 @@
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1995,96,97,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. Written by Ulrich Drepper <drepper@gnu.org>, 1995.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
@ -19,3 +19,5 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1 #define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <strcoll.c> #include <strcoll.c>
weak_alias (__strcoll_l, strcoll_l)

View File

@ -110,9 +110,13 @@ extern size_t strxfrm (char *__restrict __dest,
/* Compare the collated forms of S1 and S2 using rules from L. */ /* Compare the collated forms of S1 and S2 using rules from L. */
extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
__THROW __attribute_pure__; __THROW __attribute_pure__;
extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
__THROW __attribute_pure__;
/* Put a transformation of SRC into no more than N bytes of DEST. */ /* Put a transformation of SRC into no more than N bytes of DEST. */
extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n, extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n,
__locale_t __l) __THROW; __locale_t __l) __THROW;
extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
__locale_t __l) __THROW;
#endif #endif
#if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED #if defined __USE_SVID || defined __USE_BSD || defined __USE_XOPEN_EXTENDED
@ -282,10 +286,15 @@ extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n)
of the global one. */ of the global one. */
extern int __strcasecmp_l (__const char *__s1, __const char *__s2, extern int __strcasecmp_l (__const char *__s1, __const char *__s2,
__locale_t __loc) __THROW __attribute_pure__; __locale_t __loc) __THROW __attribute_pure__;
extern int strcasecmp_l (__const char *__s1, __const char *__s2,
__locale_t __loc) __THROW __attribute_pure__;
extern int __strncasecmp_l (__const char *__s1, __const char *__s2, extern int __strncasecmp_l (__const char *__s1, __const char *__s2,
size_t __n, __locale_t __loc) size_t __n, __locale_t __loc)
__THROW __attribute_pure__; __THROW __attribute_pure__;
extern int strncasecmp_l (__const char *__s1, __const char *__s2,
size_t __n, __locale_t __loc)
__THROW __attribute_pure__;
#endif #endif
#ifdef __USE_BSD #ifdef __USE_BSD

View File

@ -1,6 +1,6 @@
/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1995,96,97,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995. Written by Ulrich Drepper <drepper@gnu.org>, 1995.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
@ -19,3 +19,5 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1 #define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <strxfrm.c> #include <strxfrm.c>
weak_alias (__strxfrm_l, strxfrm_l)

View File

@ -20,3 +20,4 @@
#include <sysdeps/generic/strcasecmp.c> #include <sysdeps/generic/strcasecmp.c>
libc_hidden_def (__strcasecmp_l) libc_hidden_def (__strcasecmp_l)
weak_alias (__strcasecmp_l, strcasecmp_l)

View File

@ -22,3 +22,4 @@
#include <sysdeps/generic/strncase.c> #include <sysdeps/generic/strncase.c>
libc_hidden_def (__strncasecmp_l) libc_hidden_def (__strncasecmp_l)
weak_alias (__strncasecmp_l, strncasecmp_l)

View File

@ -1,5 +1,5 @@
/* Convert string representing a number to integer value, using given locale. /* Convert string representing a number to integer value, using given locale.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -28,3 +28,5 @@ extern long int ____wcstol_l_internal (const wchar_t *, wchar_t **, int, int,
__locale_t); __locale_t);
#include "wcstol.c" #include "wcstol.c"
weak_alias (__wcstol_l, wcstol_l)

View File

@ -28,3 +28,5 @@ extern long long int ____wcstoll_l_internal (const wchar_t *, wchar_t **,
int, int, __locale_t); int, int, __locale_t);
#include <wcstoll.c> #include <wcstoll.c>
weak_alias (__wcstoll_l, wcstoll_l)

View File

@ -1,5 +1,5 @@
/* Convert string representing a number to integer value, using given locale. /* Convert string representing a number to integer value, using given locale.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -28,3 +28,5 @@ extern unsigned long int ____wcstoul_l_internal (const wchar_t *, wchar_t **,
int, int, __locale_t); int, int, __locale_t);
#include <wcstoul.c> #include <wcstoul.c>
weak_alias (__wcstoul_l, wcstoul_l)

View File

@ -1,5 +1,5 @@
/* Convert string representing a number to integer value, using given locale. /* Convert string representing a number to integer value, using given locale.
Copyright (C) 1997 Free Software Foundation, Inc. Copyright (C) 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -29,3 +29,5 @@ extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
__locale_t); __locale_t);
#include <wcstoull.c> #include <wcstoull.c>
weak_alias (__wcstoull_l, wcstoull_l)

View File

@ -8,3 +8,4 @@
#undef __wcstoll_l #undef __wcstoll_l
strong_alias (____wcstol_l_internal, ____wcstoll_l_internal) strong_alias (____wcstol_l_internal, ____wcstoll_l_internal)
weak_alias (__wcstol_l, __wcstoll_l) weak_alias (__wcstol_l, __wcstoll_l)
weak_alias (__wcstol_l, wcstoll_l)

View File

@ -8,3 +8,4 @@
#undef __wcstoull_l #undef __wcstoull_l
strong_alias (____wcstoul_l_internal, ____wcstoull_l_internal) strong_alias (____wcstoul_l_internal, ____wcstoull_l_internal)
weak_alias (__wcstoul_l, __wcstoull_l) weak_alias (__wcstoul_l, __wcstoull_l)
weak_alias (__wcstoul_l, wcstoull_l)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1995-1999, 2000, 2001 Free Software Foundation, Inc. /* Copyright (C) 1995-99,2000,01,02 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -144,9 +144,13 @@ extern int wcsncasecmp (__const wchar_t *__s1, __const wchar_t *__s2,
extern int __wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, extern int __wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
__locale_t __loc) __THROW; __locale_t __loc) __THROW;
extern int wcscasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
__locale_t __loc) __THROW;
extern int __wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2, extern int __wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
size_t __n, __locale_t __loc) __THROW; size_t __n, __locale_t __loc) __THROW;
extern int wcsncasecmp_l (__const wchar_t *__s1, __const wchar_t *__s2,
size_t __n, __locale_t __loc) __THROW;
#endif #endif
/* Compare S1 and S2, both interpreted as appropriate to the /* Compare S1 and S2, both interpreted as appropriate to the
@ -166,11 +170,16 @@ extern size_t wcsxfrm (wchar_t *__restrict __s1,
LC_COLLATE category of the given locale. */ LC_COLLATE category of the given locale. */
extern int __wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2, extern int __wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
__locale_t __loc) __THROW; __locale_t __loc) __THROW;
extern int wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
__locale_t __loc) __THROW;
/* Transform S2 into array pointed to by S1 such that if wcscmp is /* Transform S2 into array pointed to by S1 such that if wcscmp is
applied to two transformed strings the result is the as applying applied to two transformed strings the result is the as applying
`wcscoll' to the original strings. */ `wcscoll' to the original strings. */
extern size_t __wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2, extern size_t __wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
size_t __n, __locale_t __loc) __THROW; size_t __n, __locale_t __loc) __THROW;
extern size_t wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
size_t __n, __locale_t __loc) __THROW;
/* Duplicate S, returning an identical malloc'd string. */ /* Duplicate S, returning an identical malloc'd string. */
extern wchar_t *wcsdup (__const wchar_t *__s) __THROW __attribute_malloc__; extern wchar_t *wcsdup (__const wchar_t *__s) __THROW __attribute_malloc__;
@ -410,33 +419,57 @@ extern unsigned long long int wcstoull (__const wchar_t *__restrict __nptr,
extern long int __wcstol_l (__const wchar_t *__restrict __nptr, extern long int __wcstol_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base, wchar_t **__restrict __endptr, int __base,
__locale_t __loc) __THROW; __locale_t __loc) __THROW;
extern long int wcstol_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, int __base,
__locale_t __loc) __THROW;
extern unsigned long int __wcstoul_l (__const wchar_t *__restrict __nptr, extern unsigned long int __wcstoul_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, wchar_t **__restrict __endptr,
int __base, __locale_t __loc) __THROW; int __base, __locale_t __loc) __THROW;
extern unsigned long int wcstoul_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) __THROW;
__extension__ __extension__
extern long long int __wcstoll_l (__const wchar_t *__restrict __nptr, extern long long int __wcstoll_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, wchar_t **__restrict __endptr,
int __base, __locale_t __loc) __THROW; int __base, __locale_t __loc) __THROW;
__extension__
extern long long int wcstoll_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc) __THROW;
__extension__ __extension__
extern unsigned long long int __wcstoull_l (__const wchar_t *__restrict __nptr, extern unsigned long long int __wcstoull_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, wchar_t **__restrict __endptr,
int __base, __locale_t __loc) int __base, __locale_t __loc)
__THROW; __THROW;
__extension__
extern unsigned long long int wcstoull_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc)
__THROW;
extern double __wcstod_l (__const wchar_t *__restrict __nptr, extern double __wcstod_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc) wchar_t **__restrict __endptr, __locale_t __loc)
__THROW; __THROW;
extern double wcstod_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
__THROW;
extern float __wcstof_l (__const wchar_t *__restrict __nptr, extern float __wcstof_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc) wchar_t **__restrict __endptr, __locale_t __loc)
__THROW; __THROW;
extern float wcstof_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, __locale_t __loc)
__THROW;
extern long double __wcstold_l (__const wchar_t *__restrict __nptr, extern long double __wcstold_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, wchar_t **__restrict __endptr,
__locale_t __loc) __THROW; __locale_t __loc) __THROW;
extern long double wcstold_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
__locale_t __loc) __THROW;
#endif /* GNU */ #endif /* GNU */

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1997 Free Software Foundation, Inc. /* Copyright (C) 1997,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -19,3 +19,6 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1 #define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <wcscasecmp.c> #include <wcscasecmp.c>
libc_hidden_def (__wcscasecmp_l)
weak_alias (__wcscasecmp_l, wcscasecmp_l)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
@ -19,3 +19,5 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1 #define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <wcscoll.c> #include <wcscoll.c>
weak_alias (__wcscoll_l, wcscoll_l)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1997 Free Software Foundation, Inc. /* Copyright (C) 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -19,3 +19,6 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1 #define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <wcsncase.c> #include <wcsncase.c>
libc_hidden_def (__wcsncasecmp_l)
weak_alias (__wcsncasecmp_l, wcsncasecmp_l)

View File

@ -1,5 +1,5 @@
/* Convert string representing a number to integer value, using given locale. /* Convert string representing a number to integer value, using given locale.
Copyright (C) 1997, 1998 Free Software Foundation, Inc. Copyright (C) 1997, 1998, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -31,3 +31,5 @@ extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
__locale_t); __locale_t);
#include <wcstod.c> #include <wcstod.c>
weak_alias (__wcstod_l, wcstod_l)

View File

@ -1,5 +1,5 @@
/* Convert string representing a number to integer value, using given locale. /* Convert string representing a number to integer value, using given locale.
Copyright (C) 1997, 1998 Free Software Foundation, Inc. Copyright (C) 1997,98,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -31,3 +31,5 @@ extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
__locale_t); __locale_t);
#include <wcstof.c> #include <wcstof.c>
weak_alias (__wcstof_l, wcstof_l)

View File

@ -1,5 +1,5 @@
/* Convert string representing a number to integer value, using given locale. /* Convert string representing a number to integer value, using given locale.
Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. Copyright (C) 1997,98,99,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -52,3 +52,5 @@ __wcstold_l (const wchar_t *nptr, wchar_t **endptr, __locale_t loc)
return ____wcstod_l_internal (nptr, endptr, 0, loc); return ____wcstod_l_internal (nptr, endptr, 0, loc);
} }
#endif #endif
weak_alias (__wcstold_l, wcstold_l)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. /* Copyright (C) 1996,97,2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
@ -19,3 +19,5 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1 #define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <wcsxfrm.c> #include <wcsxfrm.c>
weak_alias (__wcsxfrm_l, wcsxfrm_l)

View File

@ -1,5 +1,5 @@
/* Map wide character using given mapping and locale. /* Map wide character using given mapping and locale.
Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc. Copyright (C) 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -33,3 +33,4 @@ __towctrans_l (wint_t wc, wctrans_t desc, __locale_t locale)
return wctrans_table_lookup ((const char *) desc, wc); return wctrans_table_lookup ((const char *) desc, wc);
} }
weak_alias (__towctrans_l, towctrans_l)

View File

@ -27,26 +27,27 @@
/* Provide real-function versions of all the wctype macros. */ /* Provide real-function versions of all the wctype macros. */
#define func(name, type) \ #define func(name, type) \
int name (wint_t wc, __locale_t locale) \ int __##name (wint_t wc, __locale_t locale) \
{ \ { \
size_t i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_CLASS_OFFSET)].word + type; \ size_t i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_CLASS_OFFSET)].word + type; \
const char *desc = locale->__locales[LC_CTYPE]->values[i].string; \ const char *desc = locale->__locales[LC_CTYPE]->values[i].string; \
return wctype_table_lookup (desc, wc); \ return wctype_table_lookup (desc, wc); \
} \ } \
libc_hidden_def (name) libc_hidden_def (__##name) \
weak_alias (__##name, name)
func (__iswalnum_l, __ISwalnum) func (iswalnum_l, __ISwalnum)
func (__iswalpha_l, __ISwalpha) func (iswalpha_l, __ISwalpha)
func (__iswblank_l, __ISwblank) func (iswblank_l, __ISwblank)
func (__iswcntrl_l, __ISwcntrl) func (iswcntrl_l, __ISwcntrl)
func (__iswdigit_l, __ISwdigit) func (iswdigit_l, __ISwdigit)
func (__iswlower_l, __ISwlower) func (iswlower_l, __ISwlower)
func (__iswgraph_l, __ISwgraph) func (iswgraph_l, __ISwgraph)
func (__iswprint_l, __ISwprint) func (iswprint_l, __ISwprint)
func (__iswpunct_l, __ISwpunct) func (iswpunct_l, __ISwpunct)
func (__iswspace_l, __ISwspace) func (iswspace_l, __ISwspace)
func (__iswupper_l, __ISwupper) func (iswupper_l, __ISwupper)
func (__iswxdigit_l, __ISwxdigit) func (iswxdigit_l, __ISwxdigit)
wint_t wint_t
(__towlower_l) (wint_t wc, __locale_t locale) (__towlower_l) (wint_t wc, __locale_t locale)
@ -56,6 +57,7 @@ wint_t
return wctrans_table_lookup (desc, wc); return wctrans_table_lookup (desc, wc);
} }
libc_hidden_def (__towlower_l) libc_hidden_def (__towlower_l)
weak_alias (__towlower_l, towlower_l)
wint_t wint_t
(__towupper_l) (wint_t wc, __locale_t locale) (__towupper_l) (wint_t wc, __locale_t locale)
@ -65,3 +67,4 @@ wint_t
return wctrans_table_lookup (desc, wc); return wctrans_table_lookup (desc, wc);
} }
libc_hidden_def (__towupper_l) libc_hidden_def (__towupper_l)
weak_alias (__towupper_l, towupper_l)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996,1997,1999,2000,2001 Free Software Foundation, Inc. /* Copyright (C) 1996,97,99,2000,01,02 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -45,3 +45,4 @@ __wctrans_l (const char *property, __locale_t locale)
i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_MAP_OFFSET)].word + cnt; i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_MAP_OFFSET)].word + cnt;
return (wctrans_t) locale->__locales[LC_CTYPE]->values[i].string; return (wctrans_t) locale->__locales[LC_CTYPE]->values[i].string;
} }
weak_alias (__wctrans_l, wctrans_l)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996,1997,1998,1999,2000,2001 Free Software Foundation, Inc. /* Copyright (C) 1996,97,98,99,2000,01,02 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
@ -307,60 +307,75 @@ extern int __iswalnum_l (wint_t __wc, __locale_t __locale) __THROW;
wide-characters for which none of `iswcntrl', `iswdigit', wide-characters for which none of `iswcntrl', `iswdigit',
`iswpunct', or `iswspace' is true. */ `iswpunct', or `iswspace' is true. */
extern int __iswalpha_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswalpha_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswalpha_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any control wide character. */ /* Test for any control wide character. */
extern int __iswcntrl_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswcntrl_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswcntrl_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any wide character that corresponds to a decimal-digit /* Test for any wide character that corresponds to a decimal-digit
character. */ character. */
extern int __iswdigit_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswdigit_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswdigit_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any wide character for which `iswprint' is true and /* Test for any wide character for which `iswprint' is true and
`iswspace' is false. */ `iswspace' is false. */
extern int __iswgraph_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswgraph_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswgraph_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any wide character that corresponds to a lowercase letter /* Test for any wide character that corresponds to a lowercase letter
or is one of a locale-specific set of wide characters for which or is one of a locale-specific set of wide characters for which
none of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true. */ none of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true. */
extern int __iswlower_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswlower_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswlower_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any printing wide character. */ /* Test for any printing wide character. */
extern int __iswprint_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswprint_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswprint_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any printing wide character that is one of a /* Test for any printing wide character that is one of a
locale-specific et of wide characters for which neither `iswspace' locale-specific et of wide characters for which neither `iswspace'
nor `iswalnum' is true. */ nor `iswalnum' is true. */
extern int __iswpunct_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswpunct_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswpunct_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any wide character that corresponds to a locale-specific /* Test for any wide character that corresponds to a locale-specific
set of wide characters for which none of `iswalnum', `iswgraph', or set of wide characters for which none of `iswalnum', `iswgraph', or
`iswpunct' is true. */ `iswpunct' is true. */
extern int __iswspace_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswspace_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswspace_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any wide character that corresponds to an uppercase letter /* Test for any wide character that corresponds to an uppercase letter
or is one of a locale-specific set of wide character for which none or is one of a locale-specific set of wide character for which none
of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true. */ of `iswcntrl', `iswdigit', `iswpunct', or `iswspace' is true. */
extern int __iswupper_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswupper_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswupper_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any wide character that corresponds to a hexadecimal-digit /* Test for any wide character that corresponds to a hexadecimal-digit
character equivalent to that performed be the functions described character equivalent to that performed be the functions described
in the previous subclause. */ in the previous subclause. */
extern int __iswxdigit_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswxdigit_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswxdigit_l (wint_t __wc, __locale_t __locale) __THROW;
/* Test for any wide character that corresponds to a standard blank /* Test for any wide character that corresponds to a standard blank
wide character or a locale-specific set of wide characters for wide character or a locale-specific set of wide characters for
which `iswalnum' is false. */ which `iswalnum' is false. */
extern int __iswblank_l (wint_t __wc, __locale_t __locale) __THROW; extern int __iswblank_l (wint_t __wc, __locale_t __locale) __THROW;
extern int iswblank_l (wint_t __wc, __locale_t __locale) __THROW;
/* Construct value that describes a class of wide characters identified /* Construct value that describes a class of wide characters identified
by the string argument PROPERTY. */ by the string argument PROPERTY. */
extern wctype_t __wctype_l (__const char *__property, __locale_t __locale) extern wctype_t __wctype_l (__const char *__property, __locale_t __locale)
__THROW; __THROW;
extern wctype_t wctype_l (__const char *__property, __locale_t __locale)
__THROW;
/* Determine whether the wide-character WC has the property described by /* Determine whether the wide-character WC has the property described by
DESC. */ DESC. */
extern int __iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale) extern int __iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
__THROW; __THROW;
extern int iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
__THROW;
/* /*
@ -369,18 +384,24 @@ extern int __iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
/* Converts an uppercase letter to the corresponding lowercase letter. */ /* Converts an uppercase letter to the corresponding lowercase letter. */
extern wint_t __towlower_l (wint_t __wc, __locale_t __locale) __THROW; extern wint_t __towlower_l (wint_t __wc, __locale_t __locale) __THROW;
extern wint_t towlower_l (wint_t __wc, __locale_t __locale) __THROW;
/* Converts an lowercase letter to the corresponding uppercase letter. */ /* Converts an lowercase letter to the corresponding uppercase letter. */
extern wint_t __towupper_l (wint_t __wc, __locale_t __locale) __THROW; extern wint_t __towupper_l (wint_t __wc, __locale_t __locale) __THROW;
extern wint_t towupper_l (wint_t __wc, __locale_t __locale) __THROW;
/* Construct value that describes a mapping between wide characters /* Construct value that describes a mapping between wide characters
identified by the string argument PROPERTY. */ identified by the string argument PROPERTY. */
extern wctrans_t __wctrans_l (__const char *__property, __locale_t __locale) extern wctrans_t __wctrans_l (__const char *__property, __locale_t __locale)
__THROW; __THROW;
extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale)
__THROW;
/* Map the wide character WC using the mapping described by DESC. */ /* Map the wide character WC using the mapping described by DESC. */
extern wint_t __towctrans_l (wint_t __wc, wctrans_t __desc, extern wint_t __towctrans_l (wint_t __wc, wctrans_t __desc,
__locale_t __locale) __THROW; __locale_t __locale) __THROW;
extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
__locale_t __locale) __THROW;
# endif /* Use GNU. */ # endif /* Use GNU. */

View File

@ -1,6 +1,6 @@
/* Copyright (C) 1996, 1997, 2000, 2001 Free Software Foundation, Inc. /* Copyright (C) 1996,97,2000,01,02 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996. Contributed by Ulrich Drepper <drepper@gnu.org>, 1996.
The GNU C Library is free software; you can redistribute it and/or The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public modify it under the terms of the GNU Lesser General Public
@ -47,3 +47,4 @@ __wctype_l (const char *property, __locale_t locale)
i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_CLASS_OFFSET)].word + result; i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_CLASS_OFFSET)].word + result;
return (wctype_t) locale->__locales[LC_CTYPE]->values[i].string; return (wctype_t) locale->__locales[LC_CTYPE]->values[i].string;
} }
weak_alias (__wctype_l, wctype_l)