* 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>
* 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.
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) \
((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:
int isCHARACTERISTIC(int c, locale_t *locale);
which return nonzero iff C has CHARACTERISTIC.
For the meaning of the characteristic names, see the `enum' above. */
__exctype_l (__isalnum_l);
__exctype_l (__isalpha_l);
__exctype_l (__iscntrl_l);
__exctype_l (__isdigit_l);
__exctype_l (__islower_l);
__exctype_l (__isgraph_l);
__exctype_l (__isprint_l);
__exctype_l (__ispunct_l);
__exctype_l (__isspace_l);
__exctype_l (__isupper_l);
__exctype_l (__isxdigit_l);
__exctype_l (isalnum_l);
__exctype_l (isalpha_l);
__exctype_l (iscntrl_l);
__exctype_l (isdigit_l);
__exctype_l (islower_l);
__exctype_l (isgraph_l);
__exctype_l (isprint_l);
__exctype_l (ispunct_l);
__exctype_l (isspace_l);
__exctype_l (isupper_l);
__exctype_l (isxdigit_l);
__exctype_l (__isblank_l);
__exctype_l (isblank_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;
/* 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;
# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus
# define __tolower_l(c, locale) \
__tobody (c, __tolower_l, (locale)->__ctype_tolower, (c, locale))
# define __toupper_l(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 */
@ -265,8 +272,27 @@ extern int __toupper_l (int __c, __locale_t __l) __THROW;
# define __isblank_l(c,l) __isctype_l((c), _ISblank, (l))
# if defined __USE_SVID || defined __USE_MISC || defined __USE_XOPEN
# define __isascii_l(c,l) __isascii(c)
# define __toascii_l(c,l) __toascii(c)
# define __isascii_l(c,l) ((l), __isascii (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 /* 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.
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. */
#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 (__isalpha_l, _ISalpha)
func (__iscntrl_l, _IScntrl)
func (__isdigit_l, _ISdigit)
func (__islower_l, _ISlower)
func (__isgraph_l, _ISgraph)
func (__isprint_l, _ISprint)
func (__ispunct_l, _ISpunct)
func (__isspace_l, _ISspace)
func (__isupper_l, _ISupper)
func (__isxdigit_l, _ISxdigit)
func (isalnum_l, _ISalnum)
func (isalpha_l, _ISalpha)
func (iscntrl_l, _IScntrl)
func (isdigit_l, _ISdigit)
func (islower_l, _ISlower)
func (isgraph_l, _ISgraph)
func (isprint_l, _ISprint)
func (ispunct_l, _ISpunct)
func (isspace_l, _ISspace)
func (isupper_l, _ISupper)
func (isxdigit_l, _ISxdigit)
int
(__tolower_l) (int c, __locale_t l)
{
return l->__ctype_tolower[c];
}
weak_alias (__tolower_l, tolower_l)
int
(__toupper_l) (int c, __locale_t l)
{
return l->__ctype_toupper[c];
}
weak_alias (__toupper_l, toupper_l)

View File

@ -49,6 +49,19 @@ libc {
GLIBC_2.3 {
# the new "experimental" interface is now public
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 {
# global variables

View File

@ -1,5 +1,5 @@
/* 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.
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. */
extern char *__nl_langinfo_l (nl_item __item, __locale_t l);
extern char *nl_langinfo_l (nl_item __item, __locale_t l);
#endif
__END_DECLS

View File

@ -58,6 +58,8 @@ nl_langinfo (item)
/* Return the string for the specified item. */
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)
#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.
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,
char **__restrict __endptr, int __base,
__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,
char **__restrict __endptr,
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__
extern long long int __strtoll_l (__const char *__restrict __nptr,
char **__restrict __endptr, int __base,
__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__
extern unsigned long long int __strtoull_l (__const char *__restrict __nptr,
char **__restrict __endptr,
int __base, __locale_t __loc)
__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,
char **__restrict __endptr, __locale_t __loc)
__THROW;
extern double strtod_l (__const char *__restrict __nptr,
char **__restrict __endptr, __locale_t __loc)
__THROW;
extern float __strtof_l (__const char *__restrict __nptr,
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,
char **__restrict __endptr,
__locale_t __loc) __THROW;
extern long double strtold_l (__const char *__restrict __nptr,
char **__restrict __endptr,
__locale_t __loc) __THROW;
#endif /* GNU */

View File

@ -1,5 +1,5 @@
/* 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.
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);
#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.
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.
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);
#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.
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.
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);
}
#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.
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
modify it under the terms of the GNU Lesser General Public
@ -19,3 +19,5 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1
#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. */
extern int __strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l)
__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. */
extern size_t __strxfrm_l (char *__dest, __const char *__src, size_t __n,
__locale_t __l) __THROW;
extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n,
__locale_t __l) __THROW;
#endif
#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. */
extern int __strcasecmp_l (__const char *__s1, __const char *__s2,
__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,
size_t __n, __locale_t __loc)
__THROW __attribute_pure__;
extern int strncasecmp_l (__const char *__s1, __const char *__s2,
size_t __n, __locale_t __loc)
__THROW __attribute_pure__;
#endif
#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.
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
modify it under the terms of the GNU Lesser General Public
@ -19,3 +19,5 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <strxfrm.c>
weak_alias (__strxfrm_l, strxfrm_l)

View File

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

View File

@ -22,3 +22,4 @@
#include <sysdeps/generic/strncase.c>
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.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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);
#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);
#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.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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);
#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.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 2002 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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);
#include <wcstoull.c>
weak_alias (__wcstoull_l, wcstoull_l)

View File

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

View File

@ -8,3 +8,4 @@
#undef __wcstoull_l
strong_alias (____wcstoul_l_internal, ____wcstoull_l_internal)
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.
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,
__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,
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
/* 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. */
extern int __wcscoll_l (__const wchar_t *__s1, __const wchar_t *__s2,
__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
applied to two transformed strings the result is the as applying
`wcscoll' to the original strings. */
extern size_t __wcsxfrm_l (wchar_t *__s1, __const wchar_t *__s2,
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. */
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,
wchar_t **__restrict __endptr, int __base,
__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,
wchar_t **__restrict __endptr,
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__
extern long long int __wcstoll_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
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__
extern unsigned long long int __wcstoull_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
int __base, __locale_t __loc)
__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,
wchar_t **__restrict __endptr, __locale_t __loc)
__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,
wchar_t **__restrict __endptr, __locale_t __loc)
__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,
wchar_t **__restrict __endptr,
__locale_t __loc) __THROW;
extern long double wcstold_l (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr,
__locale_t __loc) __THROW;
#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.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -19,3 +19,6 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1
#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.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
@ -19,3 +19,5 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1
#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.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -19,3 +19,6 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1
#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.
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.
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);
#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.
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.
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);
#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.
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.
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);
}
#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.
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1996.
@ -19,3 +19,5 @@
#define USE_IN_EXTENDED_LOCALE_MODEL 1
#include <wcsxfrm.c>
weak_alias (__wcsxfrm_l, wcsxfrm_l)

View File

@ -1,5 +1,5 @@
/* 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.
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);
}
weak_alias (__towctrans_l, towctrans_l)

View File

@ -27,26 +27,27 @@
/* Provide real-function versions of all the wctype macros. */
#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; \
const char *desc = locale->__locales[LC_CTYPE]->values[i].string; \
return wctype_table_lookup (desc, wc); \
} \
libc_hidden_def (name)
libc_hidden_def (__##name) \
weak_alias (__##name, name)
func (__iswalnum_l, __ISwalnum)
func (__iswalpha_l, __ISwalpha)
func (__iswblank_l, __ISwblank)
func (__iswcntrl_l, __ISwcntrl)
func (__iswdigit_l, __ISwdigit)
func (__iswlower_l, __ISwlower)
func (__iswgraph_l, __ISwgraph)
func (__iswprint_l, __ISwprint)
func (__iswpunct_l, __ISwpunct)
func (__iswspace_l, __ISwspace)
func (__iswupper_l, __ISwupper)
func (__iswxdigit_l, __ISwxdigit)
func (iswalnum_l, __ISwalnum)
func (iswalpha_l, __ISwalpha)
func (iswblank_l, __ISwblank)
func (iswcntrl_l, __ISwcntrl)
func (iswdigit_l, __ISwdigit)
func (iswlower_l, __ISwlower)
func (iswgraph_l, __ISwgraph)
func (iswprint_l, __ISwprint)
func (iswpunct_l, __ISwpunct)
func (iswspace_l, __ISwspace)
func (iswupper_l, __ISwupper)
func (iswxdigit_l, __ISwxdigit)
wint_t
(__towlower_l) (wint_t wc, __locale_t locale)
@ -56,6 +57,7 @@ wint_t
return wctrans_table_lookup (desc, wc);
}
libc_hidden_def (__towlower_l)
weak_alias (__towlower_l, towlower_l)
wint_t
(__towupper_l) (wint_t wc, __locale_t locale)
@ -65,3 +67,4 @@ wint_t
return wctrans_table_lookup (desc, wc);
}
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.
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;
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.
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',
`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;
/* 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;
/* Test for any wide character that corresponds to a decimal-digit
character. */
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
`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;
/* Test for any wide character that corresponds to a lowercase letter
or is one of a locale-specific set of wide characters for which
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;
/* 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;
/* Test for any printing wide character that is one of a
locale-specific et of wide characters for which neither `iswspace'
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;
/* Test for any wide character that corresponds to a locale-specific
set of wide characters for which none of `iswalnum', `iswgraph', or
`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;
/* 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
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;
/* Test for any wide character that corresponds to a hexadecimal-digit
character equivalent to that performed be the functions described
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;
/* Test for any wide character that corresponds to a standard blank
wide character or a locale-specific set of wide characters for
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;
/* Construct value that describes a class of wide characters identified
by the string argument PROPERTY. */
extern wctype_t __wctype_l (__const char *__property, __locale_t __locale)
__THROW;
extern wctype_t wctype_l (__const char *__property, __locale_t __locale)
__THROW;
/* Determine whether the wide-character WC has the property described by
DESC. */
extern int __iswctype_l (wint_t __wc, wctype_t __desc, __locale_t __locale)
__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. */
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. */
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
identified by the string argument PROPERTY. */
extern wctrans_t __wctrans_l (__const char *__property, __locale_t __locale)
__THROW;
extern wctrans_t wctrans_l (__const char *__property, __locale_t __locale)
__THROW;
/* Map the wide character WC using the mapping described by DESC. */
extern wint_t __towctrans_l (wint_t __wc, wctrans_t __desc,
__locale_t __locale) __THROW;
extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
__locale_t __locale) __THROW;
# 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.
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
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;
return (wctype_t) locale->__locales[LC_CTYPE]->values[i].string;
}
weak_alias (__wctype_l, wctype_l)