mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-26 19:23:34 +08:00
Use locale_t, not __locale_t, throughout glibc
<locale.h> is specified to define locale_t in POSIX.1-2008, and so are all of the headers that define functions that take locale_t arguments. Under _GNU_SOURCE, the additional headers that define such functions have also always defined locale_t. Therefore, there is no need to use __locale_t in public function prototypes, nor in any internal code. * ctype/ctype-c99_l.c, ctype/ctype.h, ctype/ctype_l.c * include/monetary.h, include/stdlib.h, include/time.h * include/wchar.h, locale/duplocale.c, locale/freelocale.c * locale/global-locale.c, locale/langinfo.h, locale/locale.h * locale/localeinfo.h, locale/newlocale.c * locale/nl_langinfo_l.c, locale/uselocale.c * localedata/bug-usesetlocale.c, localedata/tst-xlocale2.c * stdio-common/vfscanf.c, stdlib/monetary.h, stdlib/stdlib.h * stdlib/strfmon_l.c, stdlib/strtod_l.c, stdlib/strtof_l.c * stdlib/strtol.c, stdlib/strtol_l.c, stdlib/strtold_l.c * stdlib/strtoll_l.c, stdlib/strtoul_l.c, stdlib/strtoull_l.c * string/strcasecmp.c, string/strcoll_l.c, string/string.h * string/strings.h, string/strncase.c, string/strxfrm_l.c * sysdeps/ieee754/float128/strtof128_l.c * sysdeps/ieee754/float128/wcstof128.c * sysdeps/ieee754/float128/wcstof128_l.c * sysdeps/ieee754/ldbl-128ibm/strtold_l.c * sysdeps/ieee754/ldbl-64-128/strtold_l.c * sysdeps/ieee754/ldbl-opt/nldbl-compat.c * sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c * sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c * sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c * sysdeps/powerpc/powerpc32/power7/strcasecmp.S * sysdeps/powerpc/powerpc64/power7/strcasecmp.S * sysdeps/x86_64/strcasecmp_l-nonascii.c * sysdeps/x86_64/strncase_l-nonascii.c, time/strftime_l.c * time/strptime_l.c, time/time.h, wcsmbs/mbsrtowcs_l.c * wcsmbs/wchar.h, wcsmbs/wcscasecmp.c, wcsmbs/wcsncase.c * wcsmbs/wcstod.c, wcsmbs/wcstod_l.c, wcsmbs/wcstof.c * wcsmbs/wcstof_l.c, wcsmbs/wcstol_l.c, wcsmbs/wcstold.c * wcsmbs/wcstold_l.c, wcsmbs/wcstoll_l.c, wcsmbs/wcstoul_l.c * wcsmbs/wcstoull_l.c, wctype/iswctype_l.c * wctype/towctrans_l.c, wctype/wcfuncs_l.c * wctype/wctrans_l.c, wctype/wctype.h, wctype/wctype_l.c: Change all uses of __locale_t to locale_t.
This commit is contained in:
parent
f0be25b633
commit
af85385f31
76
ChangeLog
76
ChangeLog
@ -1,31 +1,67 @@
|
||||
2017-06-20 Zack Weinberg <zackw@panix.com>
|
||||
|
||||
* locale/xlocale.h: Rename to...
|
||||
* locale/xlocale.h: Rename to...
|
||||
* locale/bits/types/__locale_t.h: ...here. Adjust commentary.
|
||||
Only define struct __locale_struct and __locale_t, not locale_t.
|
||||
* locale/bits/types/locale_t.h: New file; define locale_t here.
|
||||
* locale/Makefile (headers): Update to match.
|
||||
* locale/bits/types/locale_t.h: New file; define locale_t here.
|
||||
* locale/Makefile (headers): Update to match.
|
||||
|
||||
* include/xlocale.h: Delete wrapper.
|
||||
* include/bits/types/__locale_t.h: New wrapper.
|
||||
* include/bits/types/locale_t.h: New wrapper.
|
||||
* include/xlocale.h: Delete wrapper.
|
||||
* include/bits/types/__locale_t.h: New wrapper.
|
||||
* include/bits/types/locale_t.h: New wrapper.
|
||||
|
||||
* ctype/ctype.h, include/printf.h, include/time.h
|
||||
* locale/langinfo.h, locale/locale.h, stdlib/monetary.h
|
||||
* stdlib/stdlib.h, string/string.h, string/strings.h, time/time.h
|
||||
* wcsmbs/wchar.h, wctype/wctype.h: Use bits/types/locale_t.h.
|
||||
Correct outdated comments regarding the standardization status of
|
||||
the functions that take locale_t arguments.
|
||||
* ctype/ctype.h, include/printf.h, include/time.h
|
||||
* locale/langinfo.h, locale/locale.h, stdlib/monetary.h
|
||||
* stdlib/stdlib.h, string/string.h, string/strings.h, time/time.h
|
||||
* wcsmbs/wchar.h, wctype/wctype.h: Use bits/types/locale_t.h.
|
||||
Correct outdated comments regarding the standardization status of
|
||||
the functions that take locale_t arguments.
|
||||
|
||||
* stdlib/strtod_l.c, stdlib/strtof_l.c, stdlib/strtol_l.c
|
||||
* stdlib/strtold_l.c, stdlib/strtoul_l.c, stdlib/strtoull_l.c
|
||||
* sysdeps/ieee754/ldbl-128ibm/strtold_l.c
|
||||
* sysdeps/ieee754/ldbl-64-128/strtold_l.c
|
||||
* wcsmbs/wcstod.c, wcsmbs/wcstod_l.c, wcsmbs/wcstof.c
|
||||
* wcsmbs/wcstof_l.c, wcsmbs/wcstold.c, wcsmbs/wcstold_l.c:
|
||||
Don't include xlocale.h. If necessary, include locale.h instead.
|
||||
* stdlib/strtod_l.c, stdlib/strtof_l.c, stdlib/strtol_l.c
|
||||
* stdlib/strtold_l.c, stdlib/strtoul_l.c, stdlib/strtoull_l.c
|
||||
* sysdeps/ieee754/ldbl-128ibm/strtold_l.c
|
||||
* sysdeps/ieee754/ldbl-64-128/strtold_l.c
|
||||
* wcsmbs/wcstod.c, wcsmbs/wcstod_l.c, wcsmbs/wcstof.c
|
||||
* wcsmbs/wcstof_l.c, wcsmbs/wcstold.c, wcsmbs/wcstold_l.c:
|
||||
Don't include xlocale.h. If necessary, include locale.h instead.
|
||||
|
||||
* stdlib/strtold_l.c: Unconditionally include wchar.h.
|
||||
* stdlib/strtold_l.c: Unconditionally include wchar.h.
|
||||
|
||||
* ctype/ctype-c99_l.c, ctype/ctype.h, ctype/ctype_l.c
|
||||
* include/monetary.h, include/stdlib.h, include/time.h
|
||||
* include/wchar.h, locale/duplocale.c, locale/freelocale.c
|
||||
* locale/global-locale.c, locale/langinfo.h, locale/locale.h
|
||||
* locale/localeinfo.h, locale/newlocale.c
|
||||
* locale/nl_langinfo_l.c, locale/uselocale.c
|
||||
* localedata/bug-usesetlocale.c, localedata/tst-xlocale2.c
|
||||
* stdio-common/vfscanf.c, stdlib/monetary.h, stdlib/stdlib.h
|
||||
* stdlib/strfmon_l.c, stdlib/strtod_l.c, stdlib/strtof_l.c
|
||||
* stdlib/strtol.c, stdlib/strtol_l.c, stdlib/strtold_l.c
|
||||
* stdlib/strtoll_l.c, stdlib/strtoul_l.c, stdlib/strtoull_l.c
|
||||
* string/strcasecmp.c, string/strcoll_l.c, string/string.h
|
||||
* string/strings.h, string/strncase.c, string/strxfrm_l.c
|
||||
* sysdeps/ieee754/float128/strtof128_l.c
|
||||
* sysdeps/ieee754/float128/wcstof128.c
|
||||
* sysdeps/ieee754/float128/wcstof128_l.c
|
||||
* sysdeps/ieee754/ldbl-128ibm/strtold_l.c
|
||||
* sysdeps/ieee754/ldbl-64-128/strtold_l.c
|
||||
* sysdeps/ieee754/ldbl-opt/nldbl-compat.c
|
||||
* sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c
|
||||
* sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c
|
||||
* sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c
|
||||
* sysdeps/powerpc/powerpc32/power7/strcasecmp.S
|
||||
* sysdeps/powerpc/powerpc64/power7/strcasecmp.S
|
||||
* sysdeps/x86_64/strcasecmp_l-nonascii.c
|
||||
* sysdeps/x86_64/strncase_l-nonascii.c, time/strftime_l.c
|
||||
* time/strptime_l.c, time/time.h, wcsmbs/mbsrtowcs_l.c
|
||||
* wcsmbs/wchar.h, wcsmbs/wcscasecmp.c, wcsmbs/wcsncase.c
|
||||
* wcsmbs/wcstod.c, wcsmbs/wcstod_l.c, wcsmbs/wcstof.c
|
||||
* wcsmbs/wcstof_l.c, wcsmbs/wcstol_l.c, wcsmbs/wcstold.c
|
||||
* wcsmbs/wcstold_l.c, wcsmbs/wcstoll_l.c, wcsmbs/wcstoul_l.c
|
||||
* wcsmbs/wcstoull_l.c, wctype/iswctype_l.c
|
||||
* wctype/towctrans_l.c, wctype/wcfuncs_l.c
|
||||
* wctype/wctrans_l.c, wctype/wctype.h, wctype/wctype_l.c:
|
||||
Change all uses of __locale_t to locale_t.
|
||||
|
||||
2017-06-20 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
|
@ -20,7 +20,7 @@
|
||||
#include <ctype.h>
|
||||
|
||||
int
|
||||
__isblank_l (int c, __locale_t l)
|
||||
__isblank_l (int c, locale_t l)
|
||||
{
|
||||
return __isctype_l (c, _ISblank, l);
|
||||
}
|
||||
|
@ -242,7 +242,7 @@ __NTH (toupper (int __c))
|
||||
((locale)->__ctype_b[(int) (c)] & (unsigned short int) type)
|
||||
|
||||
# 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);
|
||||
@ -264,12 +264,12 @@ __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;
|
||||
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;
|
||||
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) \
|
||||
|
@ -21,7 +21,7 @@
|
||||
/* 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)
|
||||
@ -37,14 +37,14 @@ func (isupper_l, _ISupper)
|
||||
func (isxdigit_l, _ISxdigit)
|
||||
|
||||
int
|
||||
(__tolower_l) (int c, __locale_t l)
|
||||
(__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)
|
||||
(__toupper_l) (int c, locale_t l)
|
||||
{
|
||||
return l->__ctype_toupper[c];
|
||||
}
|
||||
|
@ -2,6 +2,6 @@
|
||||
#ifndef _ISOMAC
|
||||
#include <stdarg.h>
|
||||
|
||||
extern ssize_t __vstrfmon_l (char *s, size_t maxsize, __locale_t loc,
|
||||
extern ssize_t __vstrfmon_l (char *s, size_t maxsize, locale_t loc,
|
||||
const char *format, va_list ap);
|
||||
#endif
|
||||
|
@ -156,34 +156,34 @@ libc_hidden_proto (__strtoull_internal)
|
||||
|
||||
extern double ____strtod_l_internal (const char *__restrict __nptr,
|
||||
char **__restrict __endptr, int __group,
|
||||
__locale_t __loc);
|
||||
locale_t __loc);
|
||||
extern float ____strtof_l_internal (const char *__restrict __nptr,
|
||||
char **__restrict __endptr, int __group,
|
||||
__locale_t __loc);
|
||||
locale_t __loc);
|
||||
extern long double ____strtold_l_internal (const char *__restrict __nptr,
|
||||
char **__restrict __endptr,
|
||||
int __group, __locale_t __loc);
|
||||
int __group, locale_t __loc);
|
||||
extern long int ____strtol_l_internal (const char *__restrict __nptr,
|
||||
char **__restrict __endptr,
|
||||
int __base, int __group,
|
||||
__locale_t __loc);
|
||||
locale_t __loc);
|
||||
extern unsigned long int ____strtoul_l_internal (const char *
|
||||
__restrict __nptr,
|
||||
char **__restrict __endptr,
|
||||
int __base, int __group,
|
||||
__locale_t __loc);
|
||||
locale_t __loc);
|
||||
__extension__
|
||||
extern long long int ____strtoll_l_internal (const char *__restrict __nptr,
|
||||
char **__restrict __endptr,
|
||||
int __base, int __group,
|
||||
__locale_t __loc);
|
||||
locale_t __loc);
|
||||
__extension__
|
||||
extern unsigned long long int ____strtoull_l_internal (const char *
|
||||
__restrict __nptr,
|
||||
char **
|
||||
__restrict __endptr,
|
||||
int __base, int __group,
|
||||
__locale_t __loc);
|
||||
locale_t __loc);
|
||||
|
||||
libc_hidden_proto (____strtof_l_internal)
|
||||
libc_hidden_proto (____strtod_l_internal)
|
||||
@ -243,7 +243,7 @@ libc_hidden_proto (__strtof128_internal)
|
||||
|
||||
extern _Float128 ____strtof128_l_internal (const char *__restrict __nptr,
|
||||
char **__restrict __endptr,
|
||||
int __group, __locale_t __loc);
|
||||
int __group, locale_t __loc);
|
||||
|
||||
libc_hidden_proto (____strtof128_l_internal)
|
||||
#endif
|
||||
|
@ -92,7 +92,7 @@ extern int __getclktck (void);
|
||||
/* strptime support. */
|
||||
extern char * __strptime_internal (const char *rp, const char *fmt,
|
||||
struct tm *tm, void *statep,
|
||||
__locale_t locparam)
|
||||
locale_t locparam)
|
||||
internal_function;
|
||||
|
||||
extern double __difftime (time_t time1, time_t time0);
|
||||
|
@ -54,7 +54,7 @@ extern unsigned long long int __wcstoull_internal (const wchar_t *
|
||||
int __group) __THROW;
|
||||
extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
|
||||
wchar_t **, int, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
libc_hidden_proto (__wcstof_internal)
|
||||
libc_hidden_proto (__wcstod_internal)
|
||||
libc_hidden_proto (__wcstold_internal)
|
||||
@ -221,7 +221,7 @@ libc_hidden_proto (__isoc99_vfwscanf)
|
||||
|
||||
/* Internal functions. */
|
||||
extern size_t __mbsrtowcs_l (wchar_t *dst, const char **src, size_t len,
|
||||
mbstate_t *ps, __locale_t l) attribute_hidden;
|
||||
mbstate_t *ps, locale_t l) attribute_hidden;
|
||||
|
||||
/* Special version. We know that all uses of mbsinit inside the libc
|
||||
have a non-NULL parameter. And certainly we can access the
|
||||
|
@ -29,8 +29,8 @@
|
||||
__libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden)
|
||||
|
||||
|
||||
__locale_t
|
||||
__duplocale (__locale_t dataset)
|
||||
locale_t
|
||||
__duplocale (locale_t dataset)
|
||||
{
|
||||
/* This static object is returned for newlocale (LC_ALL_MASK, "C"). */
|
||||
if (dataset == _nl_C_locobj_ptr)
|
||||
@ -40,7 +40,7 @@ __duplocale (__locale_t dataset)
|
||||
if (dataset == LC_GLOBAL_LOCALE)
|
||||
dataset = &_nl_global_locale;
|
||||
|
||||
__locale_t result;
|
||||
locale_t result;
|
||||
int cnt;
|
||||
size_t names_len = 0;
|
||||
|
||||
|
@ -29,7 +29,7 @@ __libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden)
|
||||
|
||||
|
||||
void
|
||||
__freelocale (__locale_t dataset)
|
||||
__freelocale (locale_t dataset)
|
||||
{
|
||||
int cnt;
|
||||
|
||||
|
@ -61,4 +61,4 @@ struct __locale_struct _nl_global_locale attribute_hidden =
|
||||
#include <tls.h>
|
||||
|
||||
/* The tsd macros don't permit an initializer. */
|
||||
__thread __locale_t __libc_tsd_LOCALE = &_nl_global_locale;
|
||||
__thread locale_t __libc_tsd_LOCALE = &_nl_global_locale;
|
||||
|
@ -588,7 +588,7 @@ extern char *nl_langinfo (nl_item __item) __THROW;
|
||||
# include <bits/types/locale_t.h>
|
||||
|
||||
/* 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
|
||||
|
@ -138,8 +138,8 @@ extern struct lconv *localeconv (void) __THROW;
|
||||
datasets. Unlike for the CATEGORY parameter for `setlocale' the
|
||||
CATEGORY_MASK parameter here uses a single bit for each category,
|
||||
made by OR'ing together LC_*_MASK bits above. */
|
||||
extern __locale_t newlocale (int __category_mask, const char *__locale,
|
||||
__locale_t __base) __THROW;
|
||||
extern locale_t newlocale (int __category_mask, const char *__locale,
|
||||
locale_t __base) __THROW;
|
||||
|
||||
/* These are the bits that can be set in the CATEGORY_MASK argument to
|
||||
`newlocale'. In the GNU implementation, LC_FOO_MASK has the value
|
||||
@ -173,22 +173,22 @@ extern __locale_t newlocale (int __category_mask, const char *__locale,
|
||||
|
||||
/* Return a duplicate of the set of locale in DATASET. All usage
|
||||
counters are increased if necessary. */
|
||||
extern __locale_t duplocale (__locale_t __dataset) __THROW;
|
||||
extern locale_t duplocale (locale_t __dataset) __THROW;
|
||||
|
||||
/* Free the data associated with a locale dataset previously returned
|
||||
by a call to `setlocale_r'. */
|
||||
extern void freelocale (__locale_t __dataset) __THROW;
|
||||
extern void freelocale (locale_t __dataset) __THROW;
|
||||
|
||||
/* Switch the current thread's locale to DATASET.
|
||||
If DATASET is null, instead just return the current setting.
|
||||
The special value LC_GLOBAL_LOCALE is the initial setting
|
||||
for all threads and can also be installed any time, meaning
|
||||
the thread uses the global settings controlled by `setlocale'. */
|
||||
extern __locale_t uselocale (__locale_t __dataset) __THROW;
|
||||
extern locale_t uselocale (locale_t __dataset) __THROW;
|
||||
|
||||
/* This value can be passed to `uselocale' and may be returned by it.
|
||||
Passing this value to any other function has undefined behavior. */
|
||||
# define LC_GLOBAL_LOCALE ((__locale_t) -1L)
|
||||
# define LC_GLOBAL_LOCALE ((locale_t) -1L)
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -214,9 +214,9 @@ extern struct __locale_struct _nl_global_locale attribute_hidden;
|
||||
|
||||
/* This fetches the thread-local locale_t pointer, either one set with
|
||||
uselocale or &_nl_global_locale. */
|
||||
#define _NL_CURRENT_LOCALE (__libc_tsd_get (__locale_t, LOCALE))
|
||||
#define _NL_CURRENT_LOCALE (__libc_tsd_get (locale_t, LOCALE))
|
||||
#include <libc-tsd.h>
|
||||
__libc_tsd_define (extern, __locale_t, LOCALE)
|
||||
__libc_tsd_define (extern, locale_t, LOCALE)
|
||||
|
||||
|
||||
/* For static linking it is desireable to avoid always linking in the code
|
||||
|
@ -39,13 +39,13 @@ __libc_rwlock_define (extern , __libc_setlocale_lock attribute_hidden)
|
||||
} while (0)
|
||||
|
||||
|
||||
__locale_t
|
||||
__newlocale (int category_mask, const char *locale, __locale_t base)
|
||||
locale_t
|
||||
__newlocale (int category_mask, const char *locale, locale_t base)
|
||||
{
|
||||
/* Intermediate memory for result. */
|
||||
const char *newnames[__LC_LAST];
|
||||
struct __locale_struct result;
|
||||
__locale_t result_ptr;
|
||||
locale_t result_ptr;
|
||||
char *locale_path;
|
||||
size_t locale_path_len;
|
||||
const char *locpath_var;
|
||||
@ -86,7 +86,7 @@ __newlocale (int category_mask, const char *locale, __locale_t base)
|
||||
dataset using the C locale data. */
|
||||
if (category_mask == 0)
|
||||
{
|
||||
result_ptr = (__locale_t) malloc (sizeof (struct __locale_struct));
|
||||
result_ptr = (locale_t) malloc (sizeof (struct __locale_struct));
|
||||
if (result_ptr == NULL)
|
||||
return NULL;
|
||||
*result_ptr = result;
|
||||
|
@ -27,7 +27,7 @@
|
||||
/* Return a string with the data for locale-dependent parameter ITEM. */
|
||||
|
||||
char *
|
||||
__nl_langinfo_l (nl_item item, __locale_t l)
|
||||
__nl_langinfo_l (nl_item item, locale_t l)
|
||||
{
|
||||
int category = _NL_ITEM_CATEGORY (item);
|
||||
unsigned int index = _NL_ITEM_INDEX (item);
|
||||
|
@ -34,7 +34,7 @@ __uselocale (locale_t newloc)
|
||||
{
|
||||
const locale_t locobj
|
||||
= newloc == LC_GLOBAL_LOCALE ? &_nl_global_locale : newloc;
|
||||
__libc_tsd_set (__locale_t, LOCALE, locobj);
|
||||
__libc_tsd_set (locale_t, LOCALE, locobj);
|
||||
|
||||
#ifdef NL_CURRENT_INDIRECT
|
||||
/* Now we must update all the per-category thread-local variables to
|
||||
|
@ -8,7 +8,7 @@
|
||||
static int
|
||||
do_test (void)
|
||||
{
|
||||
__locale_t loc_new, loc_old;
|
||||
locale_t loc_new, loc_old;
|
||||
|
||||
int first = !!isalpha(0xE4);
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
static int do_test (__locale_t l);
|
||||
static int do_test (locale_t l);
|
||||
|
||||
int
|
||||
main (void)
|
||||
|
@ -289,7 +289,7 @@ _IO_vfscanf_internal (_IO_FILE *s, const char *format, _IO_va_list argptr,
|
||||
int flags; /* Modifiers for current format element. */
|
||||
int errval = 0;
|
||||
#ifndef COMPILE_WSCANF
|
||||
__locale_t loc = _NL_CURRENT_LOCALE;
|
||||
locale_t loc = _NL_CURRENT_LOCALE;
|
||||
struct __locale_data *const curctype = loc->__locales[LC_CTYPE];
|
||||
#endif
|
||||
|
||||
|
@ -45,7 +45,7 @@ extern ssize_t strfmon (char *__restrict __s, size_t __maxsize,
|
||||
|
||||
/* Formatting a monetary value according to the given locale. */
|
||||
extern ssize_t strfmon_l (char *__restrict __s, size_t __maxsize,
|
||||
__locale_t __loc,
|
||||
locale_t __loc,
|
||||
const char *__restrict __format, ...)
|
||||
__THROW __attribute_format_strfmon__ (4, 5);
|
||||
#endif
|
||||
|
@ -200,42 +200,42 @@ extern int strfromf128 (char *__dest, size_t __size, const char * __format,
|
||||
|
||||
extern long int strtol_l (const char *__restrict __nptr,
|
||||
char **__restrict __endptr, int __base,
|
||||
__locale_t __loc) __THROW __nonnull ((1, 4));
|
||||
locale_t __loc) __THROW __nonnull ((1, 4));
|
||||
|
||||
extern unsigned long int strtoul_l (const char *__restrict __nptr,
|
||||
char **__restrict __endptr,
|
||||
int __base, __locale_t __loc)
|
||||
int __base, locale_t __loc)
|
||||
__THROW __nonnull ((1, 4));
|
||||
|
||||
__extension__
|
||||
extern long long int strtoll_l (const char *__restrict __nptr,
|
||||
char **__restrict __endptr, int __base,
|
||||
__locale_t __loc)
|
||||
locale_t __loc)
|
||||
__THROW __nonnull ((1, 4));
|
||||
|
||||
__extension__
|
||||
extern unsigned long long int strtoull_l (const char *__restrict __nptr,
|
||||
char **__restrict __endptr,
|
||||
int __base, __locale_t __loc)
|
||||
int __base, locale_t __loc)
|
||||
__THROW __nonnull ((1, 4));
|
||||
|
||||
extern double strtod_l (const char *__restrict __nptr,
|
||||
char **__restrict __endptr, __locale_t __loc)
|
||||
char **__restrict __endptr, locale_t __loc)
|
||||
__THROW __nonnull ((1, 3));
|
||||
|
||||
extern float strtof_l (const char *__restrict __nptr,
|
||||
char **__restrict __endptr, __locale_t __loc)
|
||||
char **__restrict __endptr, locale_t __loc)
|
||||
__THROW __nonnull ((1, 3));
|
||||
|
||||
extern long double strtold_l (const char *__restrict __nptr,
|
||||
char **__restrict __endptr,
|
||||
__locale_t __loc)
|
||||
locale_t __loc)
|
||||
__THROW __nonnull ((1, 3));
|
||||
|
||||
# if __HAVE_FLOAT128
|
||||
extern _Float128 strtof128_l (const char *__restrict __nptr,
|
||||
char **__restrict __endptr,
|
||||
__locale_t __loc)
|
||||
locale_t __loc)
|
||||
__THROW __nonnull ((1, 3));
|
||||
# endif
|
||||
#endif /* GNU */
|
||||
|
@ -81,7 +81,7 @@ extern unsigned int __guess_grouping (unsigned int intdig_max,
|
||||
too. Some of the information contradicts the information which can
|
||||
be specified in format string. */
|
||||
ssize_t
|
||||
__vstrfmon_l (char *s, size_t maxsize, __locale_t loc, const char *format,
|
||||
__vstrfmon_l (char *s, size_t maxsize, locale_t loc, const char *format,
|
||||
va_list ap)
|
||||
{
|
||||
struct __locale_data *current = loc->__locales[LC_MONETARY];
|
||||
@ -609,7 +609,7 @@ __vstrfmon_l (char *s, size_t maxsize, __locale_t loc, const char *format,
|
||||
}
|
||||
|
||||
ssize_t
|
||||
___strfmon_l (char *s, size_t maxsize, __locale_t loc, const char *format, ...)
|
||||
___strfmon_l (char *s, size_t maxsize, locale_t loc, const char *format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
extern double ____strtod_l_internal (const char *, char **, int, __locale_t);
|
||||
extern double ____strtod_l_internal (const char *, char **, int, locale_t);
|
||||
|
||||
/* Configuration part. These macros are defined by `strtold.c',
|
||||
`strtof.c', `wcstod.c', `wcstold.c', and `wcstof.c' to produce the
|
||||
@ -484,7 +484,7 @@ str_to_mpn (const STRING_TYPE *str, int digcnt, mp_limb_t *n, mp_size_t *nsize,
|
||||
ERANGE and return HUGE_VAL with the appropriate sign. */
|
||||
FLOAT
|
||||
____STRTOF_INTERNAL (const STRING_TYPE *nptr, STRING_TYPE **endptr, int group,
|
||||
__locale_t loc)
|
||||
locale_t loc)
|
||||
{
|
||||
int negative; /* The sign of the number. */
|
||||
MPN_VAR (num); /* MP representation of the number. */
|
||||
@ -1758,7 +1758,7 @@ FLOAT
|
||||
#ifdef weak_function
|
||||
weak_function
|
||||
#endif
|
||||
__STRTOF (const STRING_TYPE *nptr, STRING_TYPE **endptr, __locale_t loc)
|
||||
__STRTOF (const STRING_TYPE *nptr, STRING_TYPE **endptr, locale_t loc)
|
||||
{
|
||||
return ____STRTOF_INTERNAL (nptr, endptr, 0, loc);
|
||||
}
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#include <locale.h>
|
||||
|
||||
extern float ____strtof_l_internal (const char *, char **, int, __locale_t);
|
||||
extern float ____strtof_l_internal (const char *, char **, int, locale_t);
|
||||
|
||||
#define FLOAT float
|
||||
#define FLT FLT
|
||||
|
@ -88,7 +88,7 @@
|
||||
|
||||
|
||||
extern INT INTERNAL (__strtol_l) (const STRING_TYPE *, STRING_TYPE **, int,
|
||||
int, __locale_t);
|
||||
int, locale_t);
|
||||
|
||||
|
||||
INT
|
||||
|
@ -222,7 +222,7 @@ extern const unsigned char __strtol_ull_rem_tab[] attribute_hidden;
|
||||
|
||||
INT
|
||||
INTERNAL (__strtol_l) (const STRING_TYPE *nptr, STRING_TYPE **endptr,
|
||||
int base, int group, __locale_t loc)
|
||||
int base, int group, locale_t loc)
|
||||
{
|
||||
int negative;
|
||||
unsigned LONG int cutoff;
|
||||
@ -542,7 +542,7 @@ INT
|
||||
weak_function
|
||||
#endif
|
||||
__strtol_l (const STRING_TYPE *nptr, STRING_TYPE **endptr,
|
||||
int base, __locale_t loc)
|
||||
int base, locale_t loc)
|
||||
{
|
||||
return INTERNAL (__strtol_l) (nptr, endptr, base, 0, loc);
|
||||
}
|
||||
|
@ -35,12 +35,12 @@
|
||||
#define INTERNAL1(x) __##x##_internal
|
||||
|
||||
extern double INTERNAL (__STRTOD) (const STRING_TYPE *, STRING_TYPE **,
|
||||
int, __locale_t);
|
||||
int, locale_t);
|
||||
|
||||
/* There is no `long double' type, use the `double' implementations. */
|
||||
long double
|
||||
INTERNAL (__STRTOLD) (const STRING_TYPE *nptr, STRING_TYPE **endptr,
|
||||
int group, __locale_t loc)
|
||||
int group, locale_t loc)
|
||||
{
|
||||
return INTERNAL (__STRTOD) (nptr, endptr, group, loc);
|
||||
}
|
||||
@ -50,7 +50,7 @@ libc_hidden_def (INTERNAL (__STRTOLD))
|
||||
|
||||
long double
|
||||
weak_function
|
||||
__STRTOLD (const STRING_TYPE *nptr, STRING_TYPE **endptr, __locale_t loc)
|
||||
__STRTOLD (const STRING_TYPE *nptr, STRING_TYPE **endptr, locale_t loc)
|
||||
{
|
||||
return INTERNAL (__STRTOD) (nptr, endptr, 0, loc);
|
||||
}
|
||||
|
@ -22,6 +22,6 @@
|
||||
#include <locale.h>
|
||||
|
||||
extern long long int ____strtoll_l_internal (const char *, char **, int, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include <strtol_l.c>
|
||||
|
@ -22,6 +22,6 @@
|
||||
#include <locale.h>
|
||||
|
||||
extern unsigned long int ____strtoul_l_internal (const char *, char **, int,
|
||||
int, __locale_t);
|
||||
int, locale_t);
|
||||
|
||||
#include "strtol_l.c"
|
||||
|
@ -23,6 +23,6 @@
|
||||
#include <locale.h>
|
||||
|
||||
extern unsigned long long int ____strtoull_l_internal (const char *, char **,
|
||||
int, int, __locale_t);
|
||||
int, int, locale_t);
|
||||
|
||||
#include <strtol_l.c>
|
||||
|
@ -34,7 +34,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef USE_IN_EXTENDED_LOCALE_MODEL
|
||||
# define LOCALE_PARAM , __locale_t loc
|
||||
# define LOCALE_PARAM , locale_t loc
|
||||
#else
|
||||
# define LOCALE_PARAM
|
||||
#endif
|
||||
@ -46,7 +46,7 @@ int
|
||||
__strcasecmp (const char *s1, const char *s2 LOCALE_PARAM)
|
||||
{
|
||||
#if defined _LIBC && !defined USE_IN_EXTENDED_LOCALE_MODEL
|
||||
__locale_t loc = _NL_CURRENT_LOCALE;
|
||||
locale_t loc = _NL_CURRENT_LOCALE;
|
||||
#endif
|
||||
const unsigned char *p1 = (const unsigned char *) s1;
|
||||
const unsigned char *p2 = (const unsigned char *) s2;
|
||||
|
@ -254,7 +254,7 @@ out:
|
||||
}
|
||||
|
||||
int
|
||||
STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, __locale_t l)
|
||||
STRCOLL (const STRING_TYPE *s1, const STRING_TYPE *s2, locale_t l)
|
||||
{
|
||||
struct __locale_data *current = l->__locales[LC_COLLATE];
|
||||
uint_fast32_t nrules = current->values[_NL_ITEM_INDEX (_NL_COLLATE_NRULES)].word;
|
||||
|
@ -152,12 +152,12 @@ extern size_t strxfrm (char *__restrict __dest,
|
||||
# include <bits/types/locale_t.h>
|
||||
|
||||
/* Compare the collated forms of S1 and S2, using sorting 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__ __nonnull ((1, 2, 3));
|
||||
/* Put a transformation of SRC into no more than N bytes of DEST,
|
||||
using sorting rules from L. */
|
||||
extern size_t strxfrm_l (char *__dest, const char *__src, size_t __n,
|
||||
__locale_t __l) __THROW __nonnull ((2, 4));
|
||||
locale_t __l) __THROW __nonnull ((2, 4));
|
||||
#endif
|
||||
|
||||
#if (defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8 \
|
||||
@ -424,7 +424,7 @@ extern char *strerror_r (int __errnum, char *__buf, size_t __buflen)
|
||||
|
||||
#ifdef __USE_XOPEN2K8
|
||||
/* Translate error number to string according to the locale L. */
|
||||
extern char *strerror_l (int __errnum, __locale_t __l) __THROW;
|
||||
extern char *strerror_l (int __errnum, locale_t __l) __THROW;
|
||||
#endif
|
||||
|
||||
#ifdef __USE_MISC
|
||||
|
@ -125,13 +125,13 @@ extern int strncasecmp (const char *__s1, const char *__s2, size_t __n)
|
||||
# include <bits/types/locale_t.h>
|
||||
|
||||
/* Compare S1 and S2, ignoring case, using collation rules from LOC. */
|
||||
extern int strcasecmp_l (const char *__s1, const char *__s2, __locale_t __loc)
|
||||
extern int strcasecmp_l (const char *__s1, const char *__s2, locale_t __loc)
|
||||
__THROW __attribute_pure__ __nonnull ((1, 2, 3));
|
||||
|
||||
/* Compare no more than N chars of S1 and S2, ignoring case, using
|
||||
collation rules from LOC. */
|
||||
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__ __nonnull ((1, 2, 4));
|
||||
#endif
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef USE_IN_EXTENDED_LOCALE_MODEL
|
||||
# define LOCALE_PARAM , __locale_t loc
|
||||
# define LOCALE_PARAM , locale_t loc
|
||||
#else
|
||||
# define LOCALE_PARAM
|
||||
#endif
|
||||
@ -49,7 +49,7 @@ int
|
||||
__strncasecmp (const char *s1, const char *s2, size_t n LOCALE_PARAM)
|
||||
{
|
||||
#if defined _LIBC && !defined USE_IN_EXTENDED_LOCALE_MODEL
|
||||
__locale_t loc = _NL_CURRENT_LOCALE;
|
||||
locale_t loc = _NL_CURRENT_LOCALE;
|
||||
#endif
|
||||
const unsigned char *p1 = (const unsigned char *) s1;
|
||||
const unsigned char *p2 = (const unsigned char *) s2;
|
||||
|
@ -665,7 +665,7 @@ do_xfrm_cached (STRING_TYPE *dest, size_t n, const locale_data_t *l_data,
|
||||
}
|
||||
|
||||
size_t
|
||||
STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, __locale_t l)
|
||||
STRXFRM (STRING_TYPE *dest, const STRING_TYPE *src, size_t n, locale_t l)
|
||||
{
|
||||
locale_data_t l_data;
|
||||
struct __locale_data *current = l->__locales[LC_COLLATE];
|
||||
|
@ -22,7 +22,7 @@
|
||||
#include <bits/floatn.h>
|
||||
|
||||
extern _Float128 ____strtof128_l_internal (const char *, char **,
|
||||
int, __locale_t);
|
||||
int, locale_t);
|
||||
|
||||
#define FLOAT _Float128
|
||||
#define FLT FLT128
|
||||
|
@ -25,6 +25,6 @@
|
||||
#include <bits/floatn.h>
|
||||
|
||||
extern _Float128 ____wcstof128_l_internal (const wchar_t *, wchar_t **, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include "strtof128.c"
|
||||
|
@ -25,6 +25,6 @@
|
||||
#include <bits/floatn.h>
|
||||
|
||||
extern _Float128 ____wcstof128_l_internal (const wchar_t *, wchar_t **, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include "strtof128_l.c"
|
||||
|
@ -25,13 +25,13 @@
|
||||
#define FLOAT long double
|
||||
#define FLT LDBL
|
||||
#ifdef USE_WIDE_CHAR
|
||||
extern long double ____new_wcstold_l (const wchar_t *, wchar_t **, __locale_t);
|
||||
extern long double ____new_wcstold_l (const wchar_t *, wchar_t **, locale_t);
|
||||
# define STRTOF __new_wcstold_l
|
||||
# define __STRTOF ____new_wcstold_l
|
||||
# define ____STRTOF_INTERNAL ____wcstold_l_internal
|
||||
# define STRTOF_NAN __wcstold_nan
|
||||
#else
|
||||
extern long double ____new_strtold_l (const char *, char **, __locale_t);
|
||||
extern long double ____new_strtold_l (const char *, char **, locale_t);
|
||||
# define STRTOF __new_strtold_l
|
||||
# define __STRTOF ____new_strtold_l
|
||||
# define ____STRTOF_INTERNAL ____strtold_l_internal
|
||||
|
@ -25,13 +25,13 @@
|
||||
#define FLOAT long double
|
||||
#define FLT LDBL
|
||||
#ifdef USE_WIDE_CHAR
|
||||
extern long double ____new_wcstold_l (const wchar_t *, wchar_t **, __locale_t);
|
||||
extern long double ____new_wcstold_l (const wchar_t *, wchar_t **, locale_t);
|
||||
# define STRTOF __new_wcstold_l
|
||||
# define __STRTOF ____new_wcstold_l
|
||||
# define ____STRTOF_INTERNAL ____wcstold_l_internal
|
||||
# define STRTOF_NAN __wcstold_nan
|
||||
#else
|
||||
extern long double ____new_strtold_l (const char *, char **, __locale_t);
|
||||
extern long double ____new_strtold_l (const char *, char **, locale_t);
|
||||
# define STRTOF __new_strtold_l
|
||||
# define __STRTOF ____new_strtold_l
|
||||
# define ____STRTOF_INTERNAL ____strtold_l_internal
|
||||
|
@ -790,7 +790,7 @@ __nldbl_strfmon (char *s, size_t maxsize, const char *format, ...)
|
||||
|
||||
ssize_t
|
||||
attribute_compat_text_section
|
||||
__nldbl___strfmon_l (char *s, size_t maxsize, __locale_t loc,
|
||||
__nldbl___strfmon_l (char *s, size_t maxsize, locale_t loc,
|
||||
const char *format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
@ -818,7 +818,7 @@ libc_hidden_def (__nldbl___vstrfmon)
|
||||
|
||||
ssize_t
|
||||
attribute_compat_text_section
|
||||
__nldbl___vstrfmon_l (char *s, size_t maxsize, __locale_t loc,
|
||||
__nldbl___vstrfmon_l (char *s, size_t maxsize, locale_t loc,
|
||||
const char *format, va_list ap)
|
||||
{
|
||||
ssize_t res;
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
ssize_t
|
||||
attribute_hidden
|
||||
__strfmon_l (char *s, size_t maxsize, __locale_t loc, const char *format, ...)
|
||||
__strfmon_l (char *s, size_t maxsize, locale_t loc, const char *format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
ssize_t res;
|
||||
|
@ -8,11 +8,11 @@
|
||||
|
||||
extern double
|
||||
__strtod_l (const char *__restrict __nptr, char **__restrict __endptr,
|
||||
__locale_t __loc);
|
||||
locale_t __loc);
|
||||
|
||||
double
|
||||
attribute_hidden
|
||||
__strtold_l (const char *nptr, char **endptr, __locale_t loc)
|
||||
__strtold_l (const char *nptr, char **endptr, locale_t loc)
|
||||
{
|
||||
return __strtod_l (nptr, endptr, loc);
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
double
|
||||
attribute_hidden
|
||||
__wcstold_l (const wchar_t *nptr, wchar_t **endptr, __locale_t loc)
|
||||
__wcstold_l (const wchar_t *nptr, wchar_t **endptr, locale_t loc)
|
||||
{
|
||||
return __wcstod_l (nptr, endptr, loc);
|
||||
}
|
||||
|
@ -24,7 +24,7 @@
|
||||
or if defined USE_IN_EXTENDED_LOCALE_MODEL:
|
||||
|
||||
int [r3] strcasecmp_l (const char *s1 [r3], const char *s2 [r4],
|
||||
__locale_t loc [r5]) */
|
||||
locale_t loc [r5]) */
|
||||
|
||||
#ifndef STRCMP
|
||||
# define __STRCMP __strcasecmp
|
||||
|
@ -24,7 +24,7 @@
|
||||
or if defined USE_IN_EXTENDED_LOCALE_MODEL:
|
||||
|
||||
int [r3] strcasecmp_l (const char *s1 [r3], const char *s2 [r4],
|
||||
__locale_t loc [r5]) */
|
||||
locale_t loc [r5]) */
|
||||
|
||||
#ifndef STRCMP
|
||||
# define __STRCMP __strcasecmp
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <string.h>
|
||||
|
||||
extern int __strcasecmp_l_nonascii (const char *__s1, const char *__s2,
|
||||
__locale_t __loc);
|
||||
locale_t __loc);
|
||||
|
||||
#define __strcasecmp_l __strcasecmp_l_nonascii
|
||||
#define USE_IN_EXTENDED_LOCALE_MODEL 1
|
||||
|
@ -1,7 +1,7 @@
|
||||
#include <string.h>
|
||||
|
||||
extern int __strncasecmp_l_nonascii (const char *__s1, const char *__s2,
|
||||
size_t __n, __locale_t __loc);
|
||||
size_t __n, locale_t __loc);
|
||||
|
||||
#define __strncasecmp_l __strncasecmp_l_nonascii
|
||||
#define USE_IN_EXTENDED_LOCALE_MODEL 1
|
||||
|
@ -284,7 +284,7 @@ static const CHAR_T zeroes[16] = /* "0000000000000000" */
|
||||
# undef _NL_CURRENT
|
||||
# define _NL_CURRENT(category, item) \
|
||||
(current->values[_NL_ITEM_INDEX (item)].string)
|
||||
# define LOCALE_PARAM , __locale_t loc
|
||||
# define LOCALE_PARAM , locale_t loc
|
||||
# define LOCALE_ARG , loc
|
||||
# define HELPER_LOCALE_ARG , current
|
||||
#else
|
||||
|
@ -181,7 +181,7 @@ static const unsigned short int __mon_yday[2][13] =
|
||||
# undef _NL_CURRENT_WORD
|
||||
# define _NL_CURRENT_WORD(category, item) \
|
||||
(current->values[_NL_ITEM_INDEX (item)].word)
|
||||
# define LOCALE_PARAM , __locale_t locale
|
||||
# define LOCALE_PARAM , locale_t locale
|
||||
# define LOCALE_ARG , locale
|
||||
# define HELPER_LOCALE_ARG , current
|
||||
# define ISSPACE(Ch) __isspace_l (Ch, locale)
|
||||
|
@ -104,13 +104,13 @@ extern char *strptime (const char *__restrict __s,
|
||||
extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
|
||||
const char *__restrict __format,
|
||||
const struct tm *__restrict __tp,
|
||||
__locale_t __loc) __THROW;
|
||||
locale_t __loc) __THROW;
|
||||
#endif
|
||||
|
||||
#ifdef __USE_GNU
|
||||
extern char *strptime_l (const char *__restrict __s,
|
||||
const char *__restrict __fmt, struct tm *__tp,
|
||||
__locale_t __loc) __THROW;
|
||||
locale_t __loc) __THROW;
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
||||
size_t
|
||||
attribute_hidden
|
||||
__mbsrtowcs_l (wchar_t *dst, const char **src, size_t len, mbstate_t *ps,
|
||||
__locale_t l)
|
||||
locale_t l)
|
||||
{
|
||||
struct __gconv_step_data data;
|
||||
size_t result;
|
||||
|
@ -120,10 +120,10 @@ extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
|
||||
/* Similar to the two functions above but take the information from
|
||||
the provided locale and not the global locale. */
|
||||
extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
|
||||
__locale_t __loc) __THROW;
|
||||
locale_t __loc) __THROW;
|
||||
|
||||
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;
|
||||
#endif
|
||||
|
||||
/* Compare S1 and S2, both interpreted as appropriate to the
|
||||
@ -142,13 +142,13 @@ extern size_t wcsxfrm (wchar_t *__restrict __s1,
|
||||
/* Compare S1 and S2, both interpreted as appropriate to the
|
||||
LC_COLLATE category of the given locale. */
|
||||
extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
|
||||
__locale_t __loc) __THROW;
|
||||
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;
|
||||
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__;
|
||||
@ -441,39 +441,39 @@ extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
|
||||
by the POSIX.1-2008 extended locale API. */
|
||||
extern long int wcstol_l (const wchar_t *__restrict __nptr,
|
||||
wchar_t **__restrict __endptr, int __base,
|
||||
__locale_t __loc) __THROW;
|
||||
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;
|
||||
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;
|
||||
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)
|
||||
int __base, locale_t __loc)
|
||||
__THROW;
|
||||
|
||||
extern double wcstod_l (const wchar_t *__restrict __nptr,
|
||||
wchar_t **__restrict __endptr, __locale_t __loc)
|
||||
wchar_t **__restrict __endptr, locale_t __loc)
|
||||
__THROW;
|
||||
|
||||
extern float wcstof_l (const wchar_t *__restrict __nptr,
|
||||
wchar_t **__restrict __endptr, __locale_t __loc)
|
||||
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;
|
||||
locale_t __loc) __THROW;
|
||||
|
||||
# if __HAVE_FLOAT128
|
||||
extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr,
|
||||
wchar_t **__restrict __endptr,
|
||||
__locale_t __loc) __THROW;
|
||||
locale_t __loc) __THROW;
|
||||
# endif
|
||||
#endif /* use GNU */
|
||||
|
||||
@ -775,7 +775,7 @@ extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
|
||||
extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
|
||||
const wchar_t *__restrict __format,
|
||||
const struct tm *__restrict __tp,
|
||||
__locale_t __loc) __THROW;
|
||||
locale_t __loc) __THROW;
|
||||
# endif
|
||||
|
||||
/* Define some macros helping to catch buffer overflows. */
|
||||
|
@ -35,7 +35,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef USE_IN_EXTENDED_LOCALE_MODEL
|
||||
# define LOCALE_PARAM , __locale_t loc
|
||||
# define LOCALE_PARAM , locale_t loc
|
||||
#else
|
||||
# define LOCALE_PARAM
|
||||
#endif
|
||||
|
@ -37,7 +37,7 @@
|
||||
#endif
|
||||
|
||||
#ifdef USE_IN_EXTENDED_LOCALE_MODEL
|
||||
# define LOCALE_PARAM , __locale_t loc
|
||||
# define LOCALE_PARAM , locale_t loc
|
||||
#else
|
||||
# define LOCALE_PARAM
|
||||
#endif
|
||||
|
@ -23,6 +23,6 @@
|
||||
#define USE_WIDE_CHAR 1
|
||||
|
||||
extern double ____wcstod_l_internal (const wchar_t *, wchar_t **, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include <stdlib/strtod.c>
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
extern double ____wcstod_l_internal (const wchar_t *, wchar_t **, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#define USE_WIDE_CHAR 1
|
||||
|
||||
|
@ -22,6 +22,6 @@
|
||||
#define USE_WIDE_CHAR 1
|
||||
|
||||
extern float ____wcstof_l_internal (const wchar_t *, wchar_t **, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include <stdlib/strtof.c>
|
||||
|
@ -24,6 +24,6 @@
|
||||
#define USE_WIDE_CHAR 1
|
||||
|
||||
extern float ____wcstof_l_internal (const wchar_t *, wchar_t **, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include <stdlib/strtof_l.c>
|
||||
|
@ -24,6 +24,6 @@
|
||||
#define USE_WIDE_CHAR 1
|
||||
|
||||
extern long int ____wcstol_l_internal (const wchar_t *, wchar_t **, int, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include <stdlib/strtol_l.c>
|
||||
|
@ -22,6 +22,6 @@
|
||||
#define USE_WIDE_CHAR 1
|
||||
|
||||
extern long double ____wcstold_l_internal (const wchar_t *, wchar_t **, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include <stdlib/strtold.c>
|
||||
|
@ -23,6 +23,6 @@
|
||||
#define USE_WIDE_CHAR 1
|
||||
|
||||
extern long double ____wcstold_l_internal (const wchar_t *, wchar_t **, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include <strtold_l.c>
|
||||
|
@ -24,6 +24,6 @@
|
||||
#define QUAD 1
|
||||
|
||||
extern long long int ____wcstoll_l_internal (const wchar_t *, wchar_t **,
|
||||
int, int, __locale_t);
|
||||
int, int, locale_t);
|
||||
|
||||
#include <wcstol_l.c>
|
||||
|
@ -24,6 +24,6 @@
|
||||
#define UNSIGNED 1
|
||||
|
||||
extern unsigned long int ____wcstoul_l_internal (const wchar_t *, wchar_t **,
|
||||
int, int, __locale_t);
|
||||
int, int, locale_t);
|
||||
|
||||
#include "wcstol_l.c"
|
||||
|
@ -25,6 +25,6 @@
|
||||
|
||||
extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
|
||||
wchar_t **, int, int,
|
||||
__locale_t);
|
||||
locale_t);
|
||||
|
||||
#include <wcstoll_l.c>
|
||||
|
@ -24,7 +24,7 @@
|
||||
|
||||
|
||||
int
|
||||
__iswctype_l (wint_t wc, wctype_t desc, __locale_t locale)
|
||||
__iswctype_l (wint_t wc, wctype_t desc, locale_t locale)
|
||||
{
|
||||
/* If the user passes in an invalid DESC valid (the one returned from
|
||||
`__wctype_l' in case of an error) simply return 0. */
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "wchar-lookup.h"
|
||||
|
||||
wint_t
|
||||
__towctrans_l (wint_t wc, wctrans_t desc, __locale_t locale)
|
||||
__towctrans_l (wint_t wc, wctrans_t desc, locale_t locale)
|
||||
{
|
||||
/* If the user passes in an invalid DESC valid (the one returned from
|
||||
`__wctrans_l' in case of an error) simply return the value. */
|
||||
|
@ -27,7 +27,7 @@
|
||||
/* Provide real-function versions of all the wctype macros. */
|
||||
|
||||
#define func(name, type) \
|
||||
int __isw##name (wint_t wc, __locale_t locale) \
|
||||
int __isw##name (wint_t wc, locale_t locale) \
|
||||
{ \
|
||||
if (isascii (wc)) \
|
||||
return is##name ((int) wc, locale); \
|
||||
@ -54,7 +54,7 @@ func (upper_l, __ISwupper)
|
||||
func (xdigit_l, __ISwxdigit)
|
||||
|
||||
wint_t
|
||||
(__towlower_l) (wint_t wc, __locale_t locale)
|
||||
(__towlower_l) (wint_t wc, locale_t locale)
|
||||
{
|
||||
size_t i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_MAP_OFFSET)].word + __TOW_tolower;
|
||||
const char *desc = locale->__locales[LC_CTYPE]->values[i].string;
|
||||
@ -64,7 +64,7 @@ libc_hidden_def (__towlower_l)
|
||||
weak_alias (__towlower_l, towlower_l)
|
||||
|
||||
wint_t
|
||||
(__towupper_l) (wint_t wc, __locale_t locale)
|
||||
(__towupper_l) (wint_t wc, locale_t locale)
|
||||
{
|
||||
size_t i = locale->__locales[LC_CTYPE]->values[_NL_ITEM_INDEX (_NL_CTYPE_MAP_OFFSET)].word + __TOW_toupper;
|
||||
const char *desc = locale->__locales[LC_CTYPE]->values[i].string;
|
||||
|
@ -21,7 +21,7 @@
|
||||
#include "../locale/localeinfo.h"
|
||||
|
||||
wctrans_t
|
||||
__wctrans_l (const char *property, __locale_t locale)
|
||||
__wctrans_l (const char *property, locale_t locale)
|
||||
{
|
||||
const char *names;
|
||||
size_t cnt;
|
||||
|
@ -60,66 +60,66 @@ extern wint_t towctrans (wint_t __wc, wctrans_t __desc) __THROW;
|
||||
|
||||
/* Test for any wide character for which `iswalpha' or `iswdigit' is
|
||||
true. */
|
||||
extern int iswalnum_l (wint_t __wc, __locale_t __locale) __THROW;
|
||||
extern int iswalnum_l (wint_t __wc, locale_t __locale) __THROW;
|
||||
|
||||
/* Test for any wide character for which `iswupper' or 'iswlower' is
|
||||
true, or any wide character that is one of a locale-specific set of
|
||||
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)
|
||||
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)
|
||||
extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale)
|
||||
__THROW;
|
||||
|
||||
/*
|
||||
@ -127,19 +127,19 @@ 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)
|
||||
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;
|
||||
locale_t __locale) __THROW;
|
||||
|
||||
# endif /* Use POSIX 2008. */
|
||||
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include <locale/localeinfo.h>
|
||||
|
||||
wctype_t
|
||||
__wctype_l (const char *property, __locale_t locale)
|
||||
__wctype_l (const char *property, locale_t locale)
|
||||
{
|
||||
const char *names;
|
||||
unsigned int result;
|
||||
|
Loading…
Reference in New Issue
Block a user