diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-05-24 02:30:09 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-05-24 02:30:09 +0000 |
commit | 0501d6036744d44cad6d5a6eda8090ddfbe604c4 (patch) | |
tree | ac5de4474ab5209dd348b7442dac99d4547851af /wcsmbs | |
parent | bfbc57545a197afff72572c3a6f0563023d553a5 (diff) | |
download | glibc-0501d6036744d44cad6d5a6eda8090ddfbe604c4.tar.gz glibc-0501d6036744d44cad6d5a6eda8090ddfbe604c4.tar.xz glibc-0501d6036744d44cad6d5a6eda8090ddfbe604c4.zip |
Update.
1997-05-24 03:51 Ulrich Drepper <drepper@cygnus.com> * stdlib/Makefile (routines): Add strtol_l, strtoul_l, strtoll_l, strtoull_l, strtof_l, strtod_l, and strtold_l. * stdlib/stdlib.h: Add prototypes for new functions. * stdlib/strtod.c: Change for compiling as strtoX_l. * stdlib/strtol.c: Likewise. * stdlib/strtof.c: Likewise. * stdlib/strtold.c: Likewise. * stdlib/strtod_l.c: New file. * stdlib/strtof_l.c: New file. * stdlib/strtold_l.c: New file. * stdlib/strtol_l.c: New file. * stdlib/strtoul_l.c: New file. * stdlib/strtoll_l.c: New file. * stdlib/strtoull_l.c: New file. * string/Makefile (routines): Add strcasecmp_l and strncase_l. * string/string.h: Add prototypes for new functions. * sysdeps/generic/strcasecmp.c: Change for compiling as strcasecmp_l. * sysdeps/generic/strncase.c: Change for compiling as strncasecmp_l. * sysdeps/generic/strcasecmp_l.c: New file. * sysdeps/generic/strncase_l.c: New file. * wcsmbs/Makefile (routines): Add wcstol_l, wcstoul_l, wcstoll_l, wcstoull_l, wcstod_l, wcstold_l, wcstof_l, wcscasecmp_l, and wcsncase_l. * wcsmbs/wchar.h: Add prototypes for new functions. * wcsmbs/wcscasecmp.c: Change for compiling as wcscasecmp_l. * wcsmbs/wcsncase.c: Change for compiling as wcsncasecmp_l. * wcsmbs/wcscasecmp_l.c: New file. * wcsmbs/wcsncase_l.c: New file. * wcsmbs/wcstof.c: Change for compiling as wcstof_l.c * wcsmbs/wcstold.c: Change for compiling as wcstold_l.c * wcsmcs/wcstod_l.c: New file. * wcsmcs/wcstof_l.c: New file. * wcsmcs/wcstold_l.c: New file. * wcsmcs/wcstol_l.c: New file. * wcsmcs/wcstoul_l.c: New file. * wcsmcs/wcstoll_l.c: New file. * wcsmcs/wcstoull_l.c: New file. * Makeconfig (binfmt-subdir): New variable. Set to `elf' if $(elf) is defined. More to come later when other binary formats are supported. * Makefile (subdirs): Remove elf. Add $(binfmt-subdir). Suggested by Philip Blundell. * stdlib/Makefile (headers): Add fmtmsg.h. (routines): Add fmtmsg. * stdlib/fmtmsg.c: New file. * stdlib/fmtmsg.h: New file. * manual/stdio.texi: Add description of fmtmsg and addseverity. * manual/examples/fmtmsgexpl.c: Example program for fmtmsg documentation. 1997-05-23 15:26 Philip Blundell <pjb27@cam.ac.uk> * resolv/res_query.c (res_querydomain): Avoid potential buffer overrun. Reported by Dan A. Dickey <ddickey@transition.com>. 1997-05-22 18:36 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> * elf/dl-support.c (_dl_sysdep_open_zero_fill, _dl_sysdep_read_whole_file): Moved functions to ... * elf/dl-misc.c: This new file. * sysdeps/generic/dl-sysdepio.c: Delete file and move functions... * elf/dl-misc.c: ... here. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill, _dl_sysdep_read_whole_file): Delete functions; they now come from elf/dl-misc.c (dl-support.c had contained identical versions). * sysdeps/mach/hurd/dl-sysdepio.c: Delete file; move functions... * sysdeps/mach/hurd/dl-sysdep.c: ... here, but mark them weak so that the regular ones in dl-misc work once we've initialized. * elf/Makefile (dl-routines): Remove dl-sysdepio.c. Add dl-misc.c. 1997-05-22 21:55 Philip Blundell <pjb27@cam.ac.uk> * inet/Makefile (headers): Add netinet/inbits.h. * inet/netinet/in.h: New file. * sysdeps/generic/netinet/inbits.h: Likewise. * sysdeps/unix/sysv/linux/netinet/inbits.h: Likewise. * sysdeps/generic/netinet/ip6.h: Move to... * inet/netinet/ip6.h: ... here. * sysdeps/generic/netinet/icmp6.h: Move to... * inet/netinet/icmp6.h: ... here. * sysdeps/unix/sysv/linux/netinet/in.h: Remove. * sysdeps/generic/netinet/in.h: Remove. 1997-05-22 05:40 Richard Henderson <rth@tamu.edu> * sysdeps/alpha/dl-machine.h (elf_machine_runtime_setup): If we are not looking at the new thread-safe .plt, don't be lazy about relocs. (_dl_runtime_resolve): Fix up arithmetic for new .plt layout. (elf_alpha_fix_plt): Insert wmb as appropriate to ensure safety. * elf/dynamic-link.h (ELF_DYNAMIC_RELOCATE): Let elf_machine_runtime_setup() decide if we can actually be lazy. * elf/rtld.c (_dl_start): So don't call it. * elf/dl-reloc.c (_dl_relocate_object): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Return lazy. * sysdeps/m68k/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/mips/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/powerpc/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/sparc/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/stub/dl-machine.h (elf_machine_runtime_setup): Update skeleton definition. 1997-05-22 18:45 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu/__math.h (logb): Remove second value placed on stack by fxtract. 1997-05-22 13:07 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sunrpc/rpcsvc/rusers.x: Provide and correct prototypes, add cast to (xdrproc_t) where necessary to prevent warnings. 1997-05-22 12:18 Ulrich Drepper <drepper@cygnus.com> * sysdeps/unix/sysv/linux/powerpc/dl-sysdep.c: Remove I/O functions. * sunrpc/rpcinfo.c (get_inet_address): Use INADDR_NONE and INADDR_ANY * sysdeps/libm-ieee754/s_cexp.c: Fix typo: string_alias -> * nss/XXX-lookup.c: Add missing explanation.
Diffstat (limited to 'wcsmbs')
-rw-r--r-- | wcsmbs/Makefile | 11 | ||||
-rw-r--r-- | wcsmbs/wchar.h | 60 | ||||
-rw-r--r-- | wcsmbs/wcscasecmp.c | 27 | ||||
-rw-r--r-- | wcsmbs/wcscasecmp_l.c | 21 | ||||
-rw-r--r-- | wcsmbs/wcsncase.c | 29 | ||||
-rw-r--r-- | wcsmbs/wcsncase_l.c | 21 | ||||
-rw-r--r-- | wcsmbs/wcstod_l.c | 29 | ||||
-rw-r--r-- | wcsmbs/wcstof.c | 8 | ||||
-rw-r--r-- | wcsmbs/wcstof_l.c | 29 | ||||
-rw-r--r-- | wcsmbs/wcstol_l.c | 29 | ||||
-rw-r--r-- | wcsmbs/wcstold.c | 6 | ||||
-rw-r--r-- | wcsmbs/wcstold_l.c | 29 | ||||
-rw-r--r-- | wcsmbs/wcstoll_l.c | 29 | ||||
-rw-r--r-- | wcsmbs/wcstoul_l.c | 29 | ||||
-rw-r--r-- | wcsmbs/wcstoull_l.c | 30 |
15 files changed, 373 insertions, 14 deletions
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile index 76f0fd03b9..e39ba61684 100644 --- a/wcsmbs/Makefile +++ b/wcsmbs/Makefile @@ -31,10 +31,12 @@ routines := wcscat wcschr wcscmp wcscpy wcscspn wcsdup wcslen wcsncat \ mbrlen mbrtowc wcrtomb mbsrtowcs wcsrtombs \ mbsnrtowcs wcsnrtombs \ wcstol wcstoul wcstoll wcstoull wcstod wcstold wcstof \ + wcstol_l wcstoul_l wcstoll_l wcstoull_l \ + wcstod_l wcstold_l wcstof_l \ wcscoll wcsxfrm \ wcwidth wcswidth \ wcscoll_l wcsxfrm_l \ - wcscasecmp wcsncase + wcscasecmp wcsncase wcscasecmp_l wcsncase_l include ../Rules @@ -48,3 +50,10 @@ CFLAGS-wcstoull.c = -I../stdlib CFLAGS-wcstod.c = -I../stdlib CFLAGS-wcstold.c = -I../stdlib CFLAGS-wcstof.c = -I../stdlib +CFLAGS-wcstol_l.c = -I../stdlib +CFLAGS-wcstoul_l.c = -I../stdlib +CFLAGS-wcstoll_l.c = -I../stdlib +CFLAGS-wcstoull_l.c = -I../stdlib +CFLAGS-wcstod_l.c = -I../stdlib +CFLAGS-wcstold_l.c = -I../stdlib +CFLAGS-wcstof_l.c = -I../stdlib diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h index 5247a866d3..d74a1bc492 100644 --- a/wcsmbs/wchar.h +++ b/wcsmbs/wchar.h @@ -93,6 +93,16 @@ extern int __wcsncasecmp __P ((__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)); extern int wcsncasecmp __P ((__const wchar_t *__s1, __const wchar_t *__s2, size_t __n)); + +/* Similar to the two functions above but take the information from + the provided locale and not the global locale. */ +# include <xlocale.h> + +extern int __wcscasecmp_l __P ((__const wchar_t *__s1, __const wchar_t *__s2, + __locale_t __loc)); + +extern int __wcsncasecmp_l __P ((__const wchar_t *__s1, __const wchar_t *__s2, + size_t __n, __locale_t __loc)); #endif /* Compare S1 and S2, both interpreted as appropriate to the @@ -107,7 +117,6 @@ extern size_t wcsxfrm __P ((wchar_t *__restrict __s1, #ifdef __USE_GNU /* Similar to the two functions above but take the information from the provided locale and not the global locale. */ -# include <xlocale.h> /* Compare S1 and S2, both interpreted as appropriate to the LC_COLLATE category of the given locale. */ @@ -316,6 +325,55 @@ extern unsigned long long int wcstoull __P ((__const wchar_t * int __base)); #endif /* ISO C 9X or GCC and GNU. */ +#ifdef __USE_GNU +/* The concept of one static locale per category is not very well + thought out. Many applications will need to process its data using + information from several different locales. Another application is + the implementation of the internationalization handling in the + upcoming ISO C++ standard library. To support this another set of + the functions using locale data exist which have an additional + argument. + + Attention: all these functions are *not* standardized in any form. + This is a proof-of-concept implementation. */ + +/* Structure for reentrant locale using functions. This is an + (almost) opaque type for the user level programs. */ +# include <xlocale.h> + +/* Special versions of the functions above which take the locale to + use as an additional parameter. */ +extern long int __wcstol_l __P ((__const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base, + __locale_t __loc)); + +extern unsigned long int __wcstoul_l __P ((__const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, __locale_t __loc)); + +extern long long int __wcstoll_l __P ((__const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, __locale_t __loc)); + +extern unsigned long long int __wcstoull_l __P ((__const wchar_t *__restrict + __nptr, + wchar_t **__restrict __endptr, + int __base, + __locale_t __loc)); + +extern double __wcstod_l __P ((__const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + __locale_t __loc)); + +extern float __wcstof_l __P ((__const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + __locale_t __loc)); + +extern __long_double_t __wcstold_l __P ((__const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + __locale_t __loc)); +#endif /* GNU */ + /* The internal entry points for `wcstoX' take an extra flag argument saying whether or not to parse locale-dependent number grouping. */ diff --git a/wcsmbs/wcscasecmp.c b/wcsmbs/wcscasecmp.c index 74908229a0..f32b4a14d2 100644 --- a/wcsmbs/wcscasecmp.c +++ b/wcsmbs/wcscasecmp.c @@ -25,15 +25,32 @@ #ifndef weak_alias # define __wcscasecmp wcscasecmp +# define TOLOWER(Ch) towlower (Ch) +#else +# ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define __wcscasecmp __wcscasecmp_l +# define TOLOWER(Ch) __towlower_l ((Ch), loc) +# else +# define TOLOWER(Ch) towlower (Ch) +# endif +#endif + +#ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define LOCALE_PARAM , loc +# define LOCALE_PARAM_DECL __locale_t loc; +#else +# define LOCALE_PARAM +# define LOCALE_PARAM_DECL #endif /* Compare S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. */ int -__wcscasecmp (s1, s2) +__wcscasecmp (s1, s2 LOCALE_PARAM) const wchar_t *s1; const wchar_t *s2; + LOCALE_PARAM_DECL { wint_t c1, c2; @@ -42,15 +59,15 @@ __wcscasecmp (s1, s2) do { - c1 = towlower (*s1++); - c2 = towlower (*s2++); - if (c1 == '\0') + c1 = TOLOWER (*s1++); + c2 = TOLOWER (*s2++); + if (c1 == L'\0') break; } while (c1 == c2); return c1 - c2; } -#ifdef weak_alias +#ifndef __wcscasecmp weak_alias (__wcscasecmp, wcscasecmp) #endif diff --git a/wcsmbs/wcscasecmp_l.c b/wcsmbs/wcscasecmp_l.c new file mode 100644 index 0000000000..1f6a0e909c --- /dev/null +++ b/wcsmbs/wcscasecmp_l.c @@ -0,0 +1,21 @@ +/* Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define USE_IN_EXTENDED_LOCALE_MODEL 1 +#include <wcscasecmp.c> diff --git a/wcsmbs/wcsncase.c b/wcsmbs/wcsncase.c index c5b10c57a4..0f1dce261b 100644 --- a/wcsmbs/wcsncase.c +++ b/wcsmbs/wcsncase.c @@ -18,11 +18,31 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + #include <wchar.h> #include <wctype.h> #ifndef weak_alias # define __wcsncasecmp wcsncasecmp +# define TOLOWER(Ch) towlower (Ch) +#else +# ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define __wcsncasecmp __wcsncasecmp_l +# define TOLOWER(Ch) __towlower_l ((Ch), loc) +# else +# define TOLOWER(Ch) towlower (Ch) +# endif +#endif + +#ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define LOCALE_PARAM , loc +# define LOCALE_PARAM_DECL __locale_t loc; +#else +# define LOCALE_PARAM +# define LOCALE_PARAM_DECL #endif /* Compare no more than N wide characters of S1 and S2, @@ -30,10 +50,11 @@ greater than zero if S1 is lexicographically less than, equal to or greater than S2. */ int -__wcsncasecmp (s1, s2, n) +__wcsncasecmp (s1, s2, n LOCALE_PARAM) const wchar_t *s1; const wchar_t *s2; size_t n; + LOCALE_PARAM_DECL { wint_t c1, c2; @@ -42,14 +63,14 @@ __wcsncasecmp (s1, s2, n) do { - c1 = (wint_t) towlower (*s1++); - c2 = (wint_t) towlower (*s2++); + c1 = (wint_t) TOLOWER (*s1++); + c2 = (wint_t) TOLOWER (*s2++); if (c1 == L'\0' || c1 != c2) return c1 - c2; } while (--n > 0); return c1 - c2; } -#ifdef weak_alias +#ifndef __wcsncasecmp weak_alias (__wcsncasecmp, wcsncasecmp) #endif diff --git a/wcsmbs/wcsncase_l.c b/wcsmbs/wcsncase_l.c new file mode 100644 index 0000000000..76e8cac947 --- /dev/null +++ b/wcsmbs/wcsncase_l.c @@ -0,0 +1,21 @@ +/* Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define USE_IN_EXTENDED_LOCALE_MODEL 1 +#include <wcsncase.c> diff --git a/wcsmbs/wcstod_l.c b/wcsmbs/wcstod_l.c new file mode 100644 index 0000000000..b5a715bdbd --- /dev/null +++ b/wcsmbs/wcstod_l.c @@ -0,0 +1,29 @@ +/* Convert string representing a number to integer value, using given locale. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define __need_wchar_t +#include <stddef.h> + +#define USE_IN_EXTENDED_LOCALE_MODEL 1 + +extern double ____wcstod_l_internal (const wchar_t *, wchar_t **, int, + __locale_t); + +#include <wcstod.c> diff --git a/wcsmbs/wcstof.c b/wcsmbs/wcstof.c index f410e4cf32..38cd95a4e1 100644 --- a/wcsmbs/wcstof.c +++ b/wcsmbs/wcstof.c @@ -22,8 +22,12 @@ These macros tell it to produce the `float' version, `wcstof'. */ #define FLOAT float -#define FLT LDBL -#define STRTOF wcstof +#define FLT FLT +#ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define STRTOF __wcstof_l +#else +# define STRTOF wcstof +#endif #define MPN2FLOAT __mpn_construct_float #define FLOAT_HUGE_VAL HUGE_VALF #define USE_WIDE_CHAR 1 diff --git a/wcsmbs/wcstof_l.c b/wcsmbs/wcstof_l.c new file mode 100644 index 0000000000..13d4c10914 --- /dev/null +++ b/wcsmbs/wcstof_l.c @@ -0,0 +1,29 @@ +/* Convert string representing a number to integer value, using given locale. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define __need_wchar_t +#include <stddef.h> + +#define USE_IN_EXTENDED_LOCALE_MODEL 1 + +extern float ____wcstof_l_internal (const wchar_t *, wchar_t **, int, + __locale_t); + +#include <wcstof.c> diff --git a/wcsmbs/wcstol_l.c b/wcsmbs/wcstol_l.c new file mode 100644 index 0000000000..5d8fdb06af --- /dev/null +++ b/wcsmbs/wcstol_l.c @@ -0,0 +1,29 @@ +/* Convert string representing a number to integer value, using given locale. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define __need_wchar_t +#include <stddef.h> + +#define USE_IN_EXTENDED_LOCALE_MODEL 1 + +extern long int ____wcstol_l_internal (const wchar_t *, wchar_t **, int, int, + __locale_t); + +#include <wcstol.c> diff --git a/wcsmbs/wcstold.c b/wcsmbs/wcstold.c index 1a3f0d2c6e..1c7cc6527f 100644 --- a/wcsmbs/wcstold.c +++ b/wcsmbs/wcstold.c @@ -23,7 +23,11 @@ #define FLOAT long double #define FLT LDBL -#define STRTOF wcstold +#ifdef USE_IN_EXTENDED_LOCALE_MODEL +# define STRTOF __wcstold_l +#else +# define STRTOF wcstold +#endif #define MPN2FLOAT __mpn_construct_long_double #define FLOAT_HUGE_VAL HUGE_VALL #define USE_WIDE_CHAR 1 diff --git a/wcsmbs/wcstold_l.c b/wcsmbs/wcstold_l.c new file mode 100644 index 0000000000..20a2228ba7 --- /dev/null +++ b/wcsmbs/wcstold_l.c @@ -0,0 +1,29 @@ +/* Convert string representing a number to integer value, using given locale. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define __need_wchar_t +#include <stddef.h> + +#define USE_IN_EXTENDED_LOCALE_MODEL 1 + +extern long double ____wcstold_l_internal (const wchar_t *, wchar_t **, int, + __locale_t); + +#include <wcstold.c> diff --git a/wcsmbs/wcstoll_l.c b/wcsmbs/wcstoll_l.c new file mode 100644 index 0000000000..12a8c2d669 --- /dev/null +++ b/wcsmbs/wcstoll_l.c @@ -0,0 +1,29 @@ +/* Convert string representing a number to integer value, using given locale. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define __need_wchar_t +#include <stddef.h> + +#define USE_IN_EXTENDED_LOCALE_MODEL 1 + +extern long long int ____wcstoll_l_internal (const wchar_t *, wchar_t **, + int, int, __locale_t); + +#include <wcstoll.c> diff --git a/wcsmbs/wcstoul_l.c b/wcsmbs/wcstoul_l.c new file mode 100644 index 0000000000..852d930bb0 --- /dev/null +++ b/wcsmbs/wcstoul_l.c @@ -0,0 +1,29 @@ +/* Convert string representing a number to integer value, using given locale. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define __need_wchar_t +#include <stddef.h> + +#define USE_IN_EXTENDED_LOCALE_MODEL 1 + +extern unsigned long int ____wcstoul_l_internal (const wchar_t *, wchar_t **, + int, int, __locale_t); + +#include <wcstoul.c> diff --git a/wcsmbs/wcstoull_l.c b/wcsmbs/wcstoull_l.c new file mode 100644 index 0000000000..c849a31f3d --- /dev/null +++ b/wcsmbs/wcstoull_l.c @@ -0,0 +1,30 @@ +/* Convert string representing a number to integer value, using given locale. + Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#define __need_wchar_t +#include <stddef.h> + +#define USE_IN_EXTENDED_LOCALE_MODEL 1 + +extern unsigned long long int ____wcstoull_l_internal (const wchar_t *, + wchar_t **, int, int, + __locale_t); + +#include <wcstoull.c> |