aboutsummaryrefslogtreecommitdiff
path: root/wcsmbs
diff options
context:
space:
mode:
Diffstat (limited to 'wcsmbs')
-rw-r--r--wcsmbs/Depend1
-rw-r--r--wcsmbs/Makefile105
-rw-r--r--wcsmbs/Versions37
-rw-r--r--wcsmbs/bits/types/__mbstate_t.h23
-rw-r--r--wcsmbs/bits/types/mbstate_t.h8
-rw-r--r--wcsmbs/bits/types/wint_t.h23
-rw-r--r--wcsmbs/bits/wchar-ldbl.h70
-rw-r--r--wcsmbs/bits/wchar2.h593
-rw-r--r--wcsmbs/btowc.c100
-rw-r--r--wcsmbs/c16rtomb.c32
-rw-r--r--wcsmbs/isoc99_fwscanf.c40
-rw-r--r--wcsmbs/isoc99_swscanf.c36
-rw-r--r--wcsmbs/isoc99_vfwscanf.c35
-rw-r--r--wcsmbs/isoc99_vswscanf.c48
-rw-r--r--wcsmbs/isoc99_vwscanf.c34
-rw-r--r--wcsmbs/isoc99_wscanf.c41
-rw-r--r--wcsmbs/mbrlen.c32
-rw-r--r--wcsmbs/mbrtoc16.c154
-rw-r--r--wcsmbs/mbrtowc.c129
-rw-r--r--wcsmbs/mbsinit.c38
-rw-r--r--wcsmbs/mbsnrtowcs.c143
-rw-r--r--wcsmbs/mbsrtowcs.c31
-rw-r--r--wcsmbs/mbsrtowcs_l.c163
-rw-r--r--wcsmbs/test-wcpcpy.c20
-rw-r--r--wcsmbs/test-wcpncpy.c20
-rw-r--r--wcsmbs/test-wcscat.c20
-rw-r--r--wcsmbs/test-wcschr.c2
-rw-r--r--wcsmbs/test-wcschrnul.c20
-rw-r--r--wcsmbs/test-wcscmp.c2
-rw-r--r--wcsmbs/test-wcscpy.c2
-rw-r--r--wcsmbs/test-wcscspn.c20
-rw-r--r--wcsmbs/test-wcslen.c2
-rw-r--r--wcsmbs/test-wcsncat.c20
-rw-r--r--wcsmbs/test-wcsncmp.c2
-rw-r--r--wcsmbs/test-wcsncpy.c20
-rw-r--r--wcsmbs/test-wcsnlen.c20
-rw-r--r--wcsmbs/test-wcspbrk.c20
-rw-r--r--wcsmbs/test-wcsrchr.c2
-rw-r--r--wcsmbs/test-wcsspn.c20
-rw-r--r--wcsmbs/test-wmemchr.c20
-rw-r--r--wcsmbs/test-wmemcmp.c2
-rw-r--r--wcsmbs/test-wmemset.c20
-rw-r--r--wcsmbs/tst-btowc.c176
-rw-r--r--wcsmbs/tst-c16c32-1.c131
-rw-r--r--wcsmbs/tst-mbrtowc.c235
-rw-r--r--wcsmbs/tst-mbrtowc2.c66
-rw-r--r--wcsmbs/tst-mbsrtowcs.c66
-rw-r--r--wcsmbs/tst-wchar-h.c11
-rw-r--r--wcsmbs/tst-wcpncpy.c78
-rw-r--r--wcsmbs/tst-wcrtomb.c96
-rw-r--r--wcsmbs/tst-wcsnlen.c52
-rw-r--r--wcsmbs/tst-wcstod-nan-locale.c25
-rw-r--r--wcsmbs/tst-wcstod-round.c31
-rw-r--r--wcsmbs/tst-wcstof.c33
-rw-r--r--wcsmbs/tst-wcstol-locale.c25
-rw-r--r--wcsmbs/uchar.h74
-rw-r--r--wcsmbs/wchar.h792
-rw-r--r--wcsmbs/wcpcpy.c48
-rw-r--r--wcsmbs/wcpncpy.c87
-rw-r--r--wcsmbs/wcrtomb.c120
-rw-r--r--wcsmbs/wcsatcliff.c23
-rw-r--r--wcsmbs/wcscasecmp.c67
-rw-r--r--wcsmbs/wcscasecmp_l.c23
-rw-r--r--wcsmbs/wcscat.c53
-rw-r--r--wcsmbs/wcschr.c37
-rw-r--r--wcsmbs/wcschrnul.c38
-rw-r--r--wcsmbs/wcscmp.c45
-rw-r--r--wcsmbs/wcscoll.c32
-rw-r--r--wcsmbs/wcscoll_l.c34
-rw-r--r--wcsmbs/wcscpy.c60
-rw-r--r--wcsmbs/wcscspn.c39
-rw-r--r--wcsmbs/wcsdup.c35
-rw-r--r--wcsmbs/wcslen.c46
-rw-r--r--wcsmbs/wcsmbs-tst1.c59
-rw-r--r--wcsmbs/wcsmbsload.c270
-rw-r--r--wcsmbs/wcsmbsload.h80
-rw-r--r--wcsmbs/wcsncase.c69
-rw-r--r--wcsmbs/wcsncase_l.c23
-rw-r--r--wcsmbs/wcsncat.c79
-rw-r--r--wcsmbs/wcsncmp.c70
-rw-r--r--wcsmbs/wcsncpy.c88
-rw-r--r--wcsmbs/wcsnlen.c50
-rw-r--r--wcsmbs/wcsnrtombs.c148
-rw-r--r--wcsmbs/wcspbrk.c37
-rw-r--r--wcsmbs/wcsrchr.c37
-rw-r--r--wcsmbs/wcsrtombs.c145
-rw-r--r--wcsmbs/wcsspn.c47
-rw-r--r--wcsmbs/wcsstr.c97
-rw-r--r--wcsmbs/wcstod.c28
-rw-r--r--wcsmbs/wcstod_l.c29
-rw-r--r--wcsmbs/wcstod_nan.c23
-rw-r--r--wcsmbs/wcstof.c27
-rw-r--r--wcsmbs/wcstof_l.c29
-rw-r--r--wcsmbs/wcstof_nan.c23
-rw-r--r--wcsmbs/wcstok.c62
-rw-r--r--wcsmbs/wcstol.c22
-rw-r--r--wcsmbs/wcstol_l.c29
-rw-r--r--wcsmbs/wcstold.c27
-rw-r--r--wcsmbs/wcstold_l.c28
-rw-r--r--wcsmbs/wcstold_nan.c30
-rw-r--r--wcsmbs/wcstoll.c24
-rw-r--r--wcsmbs/wcstoll_l.c29
-rw-r--r--wcsmbs/wcstoul.c22
-rw-r--r--wcsmbs/wcstoul_l.c29
-rw-r--r--wcsmbs/wcstoull.c24
-rw-r--r--wcsmbs/wcstoull_l.c30
-rw-r--r--wcsmbs/wcswidth.c38
-rw-r--r--wcsmbs/wcsxfrm.c26
-rw-r--r--wcsmbs/wcsxfrm_l.c34
-rw-r--r--wcsmbs/wctob.c82
-rw-r--r--wcsmbs/wcwidth.c26
-rw-r--r--wcsmbs/wcwidth.h39
-rw-r--r--wcsmbs/wmemchr.c65
-rw-r--r--wcsmbs/wmemcmp.c83
-rw-r--r--wcsmbs/wmemcpy.c28
-rw-r--r--wcsmbs/wmemmove.c28
-rw-r--r--wcsmbs/wmempcpy.c29
-rw-r--r--wcsmbs/wmemset.c57
118 files changed, 0 insertions, 7197 deletions
diff --git a/wcsmbs/Depend b/wcsmbs/Depend
deleted file mode 100644
index f3e1156a4e..0000000000
--- a/wcsmbs/Depend
+++ /dev/null
@@ -1 +0,0 @@
-localedata
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
deleted file mode 100644
index 08b1de11a8..0000000000
--- a/wcsmbs/Makefile
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright (C) 1995-2017 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
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 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
-# Lesser General Public License for more details.
-
-# You should have received a copy of the GNU Lesser General Public
-# License along with the GNU C Library; if not, see
-# <http://www.gnu.org/licenses/>.
-
-#
-# Sub-makefile for wcsmbs portion of the library.
-#
-subdir := wcsmbs
-
-include ../Makeconfig
-
-headers := wchar.h bits/wchar.h bits/wchar2.h bits/wchar-ldbl.h uchar.h \
- bits/types/__mbstate_t.h bits/types/mbstate_t.h bits/types/wint_t.h
-
-routines := wcscat wcschr wcscmp wcscpy wcscspn wcsdup wcslen wcsncat \
- wcsncmp wcsncpy wcspbrk wcsrchr wcsspn wcstok wcsstr wmemchr \
- wmemcmp wmemcpy wmemmove wmemset wcpcpy wcpncpy wmempcpy \
- btowc wctob mbsinit \
- mbrlen mbrtowc wcrtomb mbsrtowcs wcsrtombs \
- mbsnrtowcs wcsnrtombs wcsnlen wcschrnul \
- wcstol wcstoul wcstoll wcstoull wcstod wcstold wcstof \
- wcstol_l wcstoul_l wcstoll_l wcstoull_l \
- wcstod_l wcstold_l wcstof_l \
- wcstod_nan wcstold_nan wcstof_nan \
- wcscoll wcsxfrm \
- wcwidth wcswidth \
- wcscoll_l wcsxfrm_l \
- wcscasecmp wcsncase wcscasecmp_l wcsncase_l \
- wcsmbsload mbsrtowcs_l \
- isoc99_wscanf isoc99_vwscanf isoc99_fwscanf isoc99_vfwscanf \
- isoc99_swscanf isoc99_vswscanf \
- mbrtoc16 c16rtomb
-
-strop-tests := wcscmp wcsncmp wmemcmp wcslen wcschr wcsrchr wcscpy wcsnlen \
- wcpcpy wcsncpy wcpncpy wcscat wcsncat wcschrnul wcsspn wcspbrk \
- wcscspn wmemchr wmemset
-tests := tst-wcstof wcsmbs-tst1 tst-wcsnlen tst-btowc tst-mbrtowc \
- tst-wcrtomb tst-wcpncpy tst-mbsrtowcs tst-wchar-h tst-mbrtowc2 \
- tst-c16c32-1 wcsatcliff tst-wcstol-locale tst-wcstod-nan-locale \
- tst-wcstod-round \
- $(addprefix test-,$(strop-tests))
-
-include ../Rules
-
-ifeq ($(run-built-tests),yes)
-LOCALES := de_DE.ISO-8859-1 de_DE.UTF-8 en_US.ANSI_X3.4-1968 hr_HR.ISO-8859-2 \
- ja_JP.EUC-JP zh_TW.EUC-TW tr_TR.UTF-8 tr_TR.ISO-8859-9
-include ../gen-locales.mk
-
-$(objpfx)tst-btowc.out: $(gen-locales)
-$(objpfx)tst-c16c32-1.out: $(gen-locales)
-$(objpfx)tst-mbrtowc.out: $(gen-locales)
-$(objpfx)tst-mbrtowc2.out: $(gen-locales)
-$(objpfx)tst-wcrtomb.out: $(gen-locales)
-$(objpfx)wcsmbs-tst1.out: $(gen-locales)
-$(objpfx)tst-wcstol-locale.out: $(gen-locales)
-$(objpfx)tst-wcstod-nan-locale.out: $(gen-locales)
-endif
-
-$(objpfx)tst-wcstod-round: $(libm)
-
-CFLAGS-wcwidth.c = -I../wctype
-CFLAGS-wcswidth.c = -I../wctype
-
-strtox-CFLAGS = -I../include
-CFLAGS-wcstol.c = $(strtox-CFLAGS)
-CFLAGS-wcstoul.c = $(strtox-CFLAGS)
-CFLAGS-wcstoll.c = $(strtox-CFLAGS)
-CFLAGS-wcstoull.c = $(strtox-CFLAGS)
-CFLAGS-wcstod.c = $(strtox-CFLAGS)
-CFLAGS-wcstold.c = $(strtox-CFLAGS)
-CFLAGS-wcstof.c = $(strtox-CFLAGS)
-CFLAGS-wcstol_l.c = $(strtox-CFLAGS)
-CFLAGS-wcstoul_l.c = $(strtox-CFLAGS)
-CFLAGS-wcstoll_l.c = $(strtox-CFLAGS)
-CFLAGS-wcstoull_l.c = $(strtox-CFLAGS)
-CFLAGS-wcstod_l.c = $(strtox-CFLAGS)
-CFLAGS-wcstold_l.c = $(strtox-CFLAGS)
-CFLAGS-wcstof_l.c = $(strtox-CFLAGS)
-CPPFLAGS-tst-wchar-h.c = -D_FORTIFY_SOURCE=2
-
-CFLAGS-isoc99_wscanf.c += -fexceptions
-CFLAGS-isoc99_fwscanf.c += -fexceptions
-CFLAGS-isoc99_vwscanf.c += -fexceptions
-CFLAGS-isoc99_vfwscanf.c += -fexceptions
-
-CPPFLAGS += $(libio-mtsafe)
-
-# We need to find the default version of strtold_l in stdlib.
-CPPFLAGS-wcstold_l.c = -I../stdlib
-
-$(objpfx)tst-wcstod-nan-locale: $(libm)
diff --git a/wcsmbs/Versions b/wcsmbs/Versions
deleted file mode 100644
index b8f7bd73eb..0000000000
--- a/wcsmbs/Versions
+++ /dev/null
@@ -1,37 +0,0 @@
-libc {
- GLIBC_2.0 {
- # functions used in inline functions or macros
- __mbrlen; __mbrtowc;
- __wcstod_internal; __wcstof_internal; __wcstold_internal;
- __wcstol_internal; __wcstoll_internal;
- __wcstoul_internal; __wcstoull_internal;
-
- # b*
- btowc;
-
- # w*
- wcpcpy; wcpncpy; wcrtomb; wcscat; wcschr; wcscmp; wcscoll;
- wcscpy; wcscspn; wcsdup; wcslen; wcsncat; wcsncmp;
- wcsncpy; wcsnrtombs; wcspbrk; wcsrchr; wcsrtombs; wcsspn; wcsstr;
- wcstod; wcstof; wcstok; wcstol; wcstold; wcstoq; wcstoul;
- wcstouq; wcswidth; wcsxfrm; wctob;
-
- wmemchr; wmemcmp; wmemcpy; wmemmove; wmemset;
- }
- GLIBC_2.1 {
- # w*
- wcscasecmp; wcsncasecmp; wcsnlen; wcstoll;
- wcstoimax; wcstoumax; wcstoull; wcswcs; wmemrtombs; wmemrtowcs;
- }
- GLIBC_2.2 {
- # w*
- wcschrnul; wmempcpy;
- }
- GLIBC_2.7 {
- __isoc99_fwscanf; __isoc99_swscanf; __isoc99_vfwscanf; __isoc99_vswscanf;
- __isoc99_vwscanf; __isoc99_wscanf;
- }
- GLIBC_2.16 {
- c16rtomb; c32rtomb; mbrtoc16; mbrtoc32;
- }
-}
diff --git a/wcsmbs/bits/types/__mbstate_t.h b/wcsmbs/bits/types/__mbstate_t.h
deleted file mode 100644
index 1d8a4e28d1..0000000000
--- a/wcsmbs/bits/types/__mbstate_t.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef ____mbstate_t_defined
-#define ____mbstate_t_defined 1
-
-/* Integral type unchanged by default argument promotions that can
- hold any value corresponding to members of the extended character
- set, as well as at least one value that does not correspond to any
- member of the extended character set. */
-#ifndef __WINT_TYPE__
-# define __WINT_TYPE__ unsigned int
-#endif
-
-/* Conversion state information. */
-typedef struct
-{
- int __count;
- union
- {
- __WINT_TYPE__ __wch;
- char __wchb[4];
- } __value; /* Value so far. */
-} __mbstate_t;
-
-#endif
diff --git a/wcsmbs/bits/types/mbstate_t.h b/wcsmbs/bits/types/mbstate_t.h
deleted file mode 100644
index 8d1baa5c3b..0000000000
--- a/wcsmbs/bits/types/mbstate_t.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __mbstate_t_defined
-#define __mbstate_t_defined 1
-
-#include <bits/types/__mbstate_t.h>
-
-typedef __mbstate_t mbstate_t;
-
-#endif
diff --git a/wcsmbs/bits/types/wint_t.h b/wcsmbs/bits/types/wint_t.h
deleted file mode 100644
index fbd63dbc84..0000000000
--- a/wcsmbs/bits/types/wint_t.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __wint_t_defined
-#define __wint_t_defined 1
-
-/* Some versions of stddef.h provide wint_t, even though neither the
- C nor C++ standards, nor POSIX, specifies this. We assume that
- stddef.h will define the macro _WINT_T if and only if it provides
- wint_t, and conversely, that it will avoid providing wint_t if
- _WINT_T is already defined. */
-#ifndef _WINT_T
-#define _WINT_T 1
-
-/* Integral type unchanged by default argument promotions that can
- hold any value corresponding to members of the extended character
- set, as well as at least one value that does not correspond to any
- member of the extended character set. */
-#ifndef __WINT_TYPE__
-# define __WINT_TYPE__ unsigned int
-#endif
-
-typedef __WINT_TYPE__ wint_t;
-
-#endif /* _WINT_T */
-#endif /* bits/types/wint_t.h */
diff --git a/wcsmbs/bits/wchar-ldbl.h b/wcsmbs/bits/wchar-ldbl.h
deleted file mode 100644
index a4d1d4d1e9..0000000000
--- a/wcsmbs/bits/wchar-ldbl.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* -mlong-double-64 compatibility mode for <wchar.h> functions.
- Copyright (C) 2006-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _WCHAR_H
-# error "Never include <bits/wchar-ldbl.h> directly; use <wchar.h> instead."
-#endif
-
-#if defined __USE_ISOC95 || defined __USE_UNIX98
-__LDBL_REDIR_DECL (fwprintf);
-__LDBL_REDIR_DECL (wprintf);
-__LDBL_REDIR_DECL (swprintf);
-__LDBL_REDIR_DECL (vfwprintf);
-__LDBL_REDIR_DECL (vwprintf);
-__LDBL_REDIR_DECL (vswprintf);
-# if defined __USE_ISOC99 && !defined __USE_GNU \
- && !defined __REDIRECT \
- && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
-__LDBL_REDIR1_DECL (fwscanf, __nldbl___isoc99_fwscanf)
-__LDBL_REDIR1_DECL (wscanf, __nldbl___isoc99_wscanf)
-__LDBL_REDIR1_DECL (swscanf, __nldbl___isoc99_swscanf)
-# else
-__LDBL_REDIR_DECL (fwscanf);
-__LDBL_REDIR_DECL (wscanf);
-__LDBL_REDIR_DECL (swscanf);
-# endif
-#endif
-
-#ifdef __USE_ISOC99
-__LDBL_REDIR1_DECL (wcstold, wcstod);
-# if !defined __USE_GNU && !defined __REDIRECT \
- && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
-__LDBL_REDIR1_DECL (vfwscanf, __nldbl___isoc99_vfwscanf)
-__LDBL_REDIR1_DECL (vwscanf, __nldbl___isoc99_vwscanf)
-__LDBL_REDIR1_DECL (vswscanf, __nldbl___isoc99_vswscanf)
-# else
-__LDBL_REDIR_DECL (vfwscanf);
-__LDBL_REDIR_DECL (vwscanf);
-__LDBL_REDIR_DECL (vswscanf);
-# endif
-#endif
-
-#ifdef __USE_GNU
-__LDBL_REDIR1_DECL (wcstold_l, wcstod_l);
-#endif
-
-#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
-__LDBL_REDIR_DECL (__swprintf_chk)
-__LDBL_REDIR_DECL (__vswprintf_chk)
-# if __USE_FORTIFY_LEVEL > 1
-__LDBL_REDIR_DECL (__fwprintf_chk)
-__LDBL_REDIR_DECL (__wprintf_chk)
-__LDBL_REDIR_DECL (__vfwprintf_chk)
-__LDBL_REDIR_DECL (__vwprintf_chk)
-# endif
-#endif
diff --git a/wcsmbs/bits/wchar2.h b/wcsmbs/bits/wchar2.h
deleted file mode 100644
index 4a461e6e29..0000000000
--- a/wcsmbs/bits/wchar2.h
+++ /dev/null
@@ -1,593 +0,0 @@
-/* Checking macros for wchar functions.
- Copyright (C) 2005-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _WCHAR_H
-# error "Never include <bits/wchar2.h> directly; use <wchar.h> instead."
-#endif
-
-
-extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
- const wchar_t *__restrict __s2, size_t __n,
- size_t __ns1) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wmemcpy_alias,
- (wchar_t *__restrict __s1,
- const wchar_t *__restrict __s2, size_t __n),
- wmemcpy);
-extern wchar_t *__REDIRECT_NTH (__wmemcpy_chk_warn,
- (wchar_t *__restrict __s1,
- const wchar_t *__restrict __s2, size_t __n,
- size_t __ns1), __wmemcpy_chk)
- __warnattr ("wmemcpy called with length bigger than size of destination "
- "buffer");
-
-__fortify_function wchar_t *
-__NTH (wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2,
- size_t __n))
-{
- if (__bos0 (__s1) != (size_t) -1)
- {
- if (!__builtin_constant_p (__n))
- return __wmemcpy_chk (__s1, __s2, __n,
- __bos0 (__s1) / sizeof (wchar_t));
-
- if (__n > __bos0 (__s1) / sizeof (wchar_t))
- return __wmemcpy_chk_warn (__s1, __s2, __n,
- __bos0 (__s1) / sizeof (wchar_t));
- }
- return __wmemcpy_alias (__s1, __s2, __n);
-}
-
-
-extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
- size_t __n, size_t __ns1) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wmemmove_alias, (wchar_t *__s1,
- const wchar_t *__s2,
- size_t __n), wmemmove);
-extern wchar_t *__REDIRECT_NTH (__wmemmove_chk_warn,
- (wchar_t *__s1, const wchar_t *__s2,
- size_t __n, size_t __ns1), __wmemmove_chk)
- __warnattr ("wmemmove called with length bigger than size of destination "
- "buffer");
-
-__fortify_function wchar_t *
-__NTH (wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n))
-{
- if (__bos0 (__s1) != (size_t) -1)
- {
- if (!__builtin_constant_p (__n))
- return __wmemmove_chk (__s1, __s2, __n,
- __bos0 (__s1) / sizeof (wchar_t));
-
- if (__n > __bos0 (__s1) / sizeof (wchar_t))
- return __wmemmove_chk_warn (__s1, __s2, __n,
- __bos0 (__s1) / sizeof (wchar_t));
- }
- return __wmemmove_alias (__s1, __s2, __n);
-}
-
-
-#ifdef __USE_GNU
-extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
- const wchar_t *__restrict __s2, size_t __n,
- size_t __ns1) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wmempcpy_alias,
- (wchar_t *__restrict __s1,
- const wchar_t *__restrict __s2,
- size_t __n), wmempcpy);
-extern wchar_t *__REDIRECT_NTH (__wmempcpy_chk_warn,
- (wchar_t *__restrict __s1,
- const wchar_t *__restrict __s2, size_t __n,
- size_t __ns1), __wmempcpy_chk)
- __warnattr ("wmempcpy called with length bigger than size of destination "
- "buffer");
-
-__fortify_function wchar_t *
-__NTH (wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2,
- size_t __n))
-{
- if (__bos0 (__s1) != (size_t) -1)
- {
- if (!__builtin_constant_p (__n))
- return __wmempcpy_chk (__s1, __s2, __n,
- __bos0 (__s1) / sizeof (wchar_t));
-
- if (__n > __bos0 (__s1) / sizeof (wchar_t))
- return __wmempcpy_chk_warn (__s1, __s2, __n,
- __bos0 (__s1) / sizeof (wchar_t));
- }
- return __wmempcpy_alias (__s1, __s2, __n);
-}
-#endif
-
-
-extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
- size_t __ns) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wmemset_alias, (wchar_t *__s, wchar_t __c,
- size_t __n), wmemset);
-extern wchar_t *__REDIRECT_NTH (__wmemset_chk_warn,
- (wchar_t *__s, wchar_t __c, size_t __n,
- size_t __ns), __wmemset_chk)
- __warnattr ("wmemset called with length bigger than size of destination "
- "buffer");
-
-__fortify_function wchar_t *
-__NTH (wmemset (wchar_t *__s, wchar_t __c, size_t __n))
-{
- if (__bos0 (__s) != (size_t) -1)
- {
- if (!__builtin_constant_p (__n))
- return __wmemset_chk (__s, __c, __n, __bos0 (__s) / sizeof (wchar_t));
-
- if (__n > __bos0 (__s) / sizeof (wchar_t))
- return __wmemset_chk_warn (__s, __c, __n,
- __bos0 (__s) / sizeof (wchar_t));
- }
- return __wmemset_alias (__s, __c, __n);
-}
-
-
-extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src,
- size_t __n) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wcscpy_alias,
- (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src), wcscpy);
-
-__fortify_function wchar_t *
-__NTH (wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src))
-{
- if (__bos (__dest) != (size_t) -1)
- return __wcscpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
- return __wcscpy_alias (__dest, __src);
-}
-
-
-extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src,
- size_t __destlen) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wcpcpy_alias,
- (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src), wcpcpy);
-
-__fortify_function wchar_t *
-__NTH (wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src))
-{
- if (__bos (__dest) != (size_t) -1)
- return __wcpcpy_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
- return __wcpcpy_alias (__dest, __src);
-}
-
-
-extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src, size_t __n,
- size_t __destlen) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wcsncpy_alias,
- (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src,
- size_t __n), wcsncpy);
-extern wchar_t *__REDIRECT_NTH (__wcsncpy_chk_warn,
- (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src,
- size_t __n, size_t __destlen), __wcsncpy_chk)
- __warnattr ("wcsncpy called with length bigger than size of destination "
- "buffer");
-
-__fortify_function wchar_t *
-__NTH (wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src,
- size_t __n))
-{
- if (__bos (__dest) != (size_t) -1)
- {
- if (!__builtin_constant_p (__n))
- return __wcsncpy_chk (__dest, __src, __n,
- __bos (__dest) / sizeof (wchar_t));
- if (__n > __bos (__dest) / sizeof (wchar_t))
- return __wcsncpy_chk_warn (__dest, __src, __n,
- __bos (__dest) / sizeof (wchar_t));
- }
- return __wcsncpy_alias (__dest, __src, __n);
-}
-
-
-extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src, size_t __n,
- size_t __destlen) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wcpncpy_alias,
- (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src,
- size_t __n), wcpncpy);
-extern wchar_t *__REDIRECT_NTH (__wcpncpy_chk_warn,
- (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src,
- size_t __n, size_t __destlen), __wcpncpy_chk)
- __warnattr ("wcpncpy called with length bigger than size of destination "
- "buffer");
-
-__fortify_function wchar_t *
-__NTH (wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src,
- size_t __n))
-{
- if (__bos (__dest) != (size_t) -1)
- {
- if (!__builtin_constant_p (__n))
- return __wcpncpy_chk (__dest, __src, __n,
- __bos (__dest) / sizeof (wchar_t));
- if (__n > __bos (__dest) / sizeof (wchar_t))
- return __wcpncpy_chk_warn (__dest, __src, __n,
- __bos (__dest) / sizeof (wchar_t));
- }
- return __wcpncpy_alias (__dest, __src, __n);
-}
-
-
-extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src,
- size_t __destlen) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wcscat_alias,
- (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src), wcscat);
-
-__fortify_function wchar_t *
-__NTH (wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src))
-{
- if (__bos (__dest) != (size_t) -1)
- return __wcscat_chk (__dest, __src, __bos (__dest) / sizeof (wchar_t));
- return __wcscat_alias (__dest, __src);
-}
-
-
-extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src,
- size_t __n, size_t __destlen) __THROW;
-extern wchar_t *__REDIRECT_NTH (__wcsncat_alias,
- (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src,
- size_t __n), wcsncat);
-
-__fortify_function wchar_t *
-__NTH (wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src,
- size_t __n))
-{
- if (__bos (__dest) != (size_t) -1)
- return __wcsncat_chk (__dest, __src, __n,
- __bos (__dest) / sizeof (wchar_t));
- return __wcsncat_alias (__dest, __src, __n);
-}
-
-
-extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
- int __flag, size_t __s_len,
- const wchar_t *__restrict __format, ...)
- __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 6))) */;
-
-extern int __REDIRECT_NTH_LDBL (__swprintf_alias,
- (wchar_t *__restrict __s, size_t __n,
- const wchar_t *__restrict __fmt, ...),
- swprintf);
-
-#ifdef __va_arg_pack
-__fortify_function int
-__NTH (swprintf (wchar_t *__restrict __s, size_t __n,
- const wchar_t *__restrict __fmt, ...))
-{
- if (__bos (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
- return __swprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
- __bos (__s) / sizeof (wchar_t),
- __fmt, __va_arg_pack ());
- return __swprintf_alias (__s, __n, __fmt, __va_arg_pack ());
-}
-#elif !defined __cplusplus
-/* XXX We might want to have support in gcc for swprintf. */
-# define swprintf(s, n, ...) \
- (__bos (s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1 \
- ? __swprintf_chk (s, n, __USE_FORTIFY_LEVEL - 1, \
- __bos (s) / sizeof (wchar_t), __VA_ARGS__) \
- : swprintf (s, n, __VA_ARGS__))
-#endif
-
-extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
- int __flag, size_t __s_len,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg)
- __THROW /* __attribute__ ((__format__ (__wprintf__, 5, 0))) */;
-
-extern int __REDIRECT_NTH_LDBL (__vswprintf_alias,
- (wchar_t *__restrict __s, size_t __n,
- const wchar_t *__restrict __fmt,
- __gnuc_va_list __ap), vswprintf);
-
-__fortify_function int
-__NTH (vswprintf (wchar_t *__restrict __s, size_t __n,
- const wchar_t *__restrict __fmt, __gnuc_va_list __ap))
-{
- if (__bos (__s) != (size_t) -1 || __USE_FORTIFY_LEVEL > 1)
- return __vswprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
- __bos (__s) / sizeof (wchar_t), __fmt, __ap);
- return __vswprintf_alias (__s, __n, __fmt, __ap);
-}
-
-
-#if __USE_FORTIFY_LEVEL > 1
-
-extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
- const wchar_t *__restrict __format, ...);
-extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
- ...);
-extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
- const wchar_t *__restrict __format,
- __gnuc_va_list __ap);
-extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
- __gnuc_va_list __ap);
-
-# ifdef __va_arg_pack
-__fortify_function int
-wprintf (const wchar_t *__restrict __fmt, ...)
-{
- return __wprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __va_arg_pack ());
-}
-
-__fortify_function int
-fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
-{
- return __fwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt,
- __va_arg_pack ());
-}
-# elif !defined __cplusplus
-# define wprintf(...) \
- __wprintf_chk (__USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
-# define fwprintf(stream, ...) \
- __fwprintf_chk (stream, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
-# endif
-
-__fortify_function int
-vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
-{
- return __vwprintf_chk (__USE_FORTIFY_LEVEL - 1, __fmt, __ap);
-}
-
-__fortify_function int
-vfwprintf (__FILE *__restrict __stream,
- const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
-{
- return __vfwprintf_chk (__stream, __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
-}
-
-#endif
-
-extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
- __FILE *__restrict __stream) __wur;
-extern wchar_t *__REDIRECT (__fgetws_alias,
- (wchar_t *__restrict __s, int __n,
- __FILE *__restrict __stream), fgetws) __wur;
-extern wchar_t *__REDIRECT (__fgetws_chk_warn,
- (wchar_t *__restrict __s, size_t __size, int __n,
- __FILE *__restrict __stream), __fgetws_chk)
- __wur __warnattr ("fgetws called with bigger size than length "
- "of destination buffer");
-
-__fortify_function __wur wchar_t *
-fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
-{
- if (__bos (__s) != (size_t) -1)
- {
- if (!__builtin_constant_p (__n) || __n <= 0)
- return __fgetws_chk (__s, __bos (__s) / sizeof (wchar_t),
- __n, __stream);
-
- if ((size_t) __n > __bos (__s) / sizeof (wchar_t))
- return __fgetws_chk_warn (__s, __bos (__s) / sizeof (wchar_t),
- __n, __stream);
- }
- return __fgetws_alias (__s, __n, __stream);
-}
-
-#ifdef __USE_GNU
-extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
- int __n, __FILE *__restrict __stream)
- __wur;
-extern wchar_t *__REDIRECT (__fgetws_unlocked_alias,
- (wchar_t *__restrict __s, int __n,
- __FILE *__restrict __stream), fgetws_unlocked)
- __wur;
-extern wchar_t *__REDIRECT (__fgetws_unlocked_chk_warn,
- (wchar_t *__restrict __s, size_t __size, int __n,
- __FILE *__restrict __stream),
- __fgetws_unlocked_chk)
- __wur __warnattr ("fgetws_unlocked called with bigger size than length "
- "of destination buffer");
-
-__fortify_function __wur wchar_t *
-fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
-{
- if (__bos (__s) != (size_t) -1)
- {
- if (!__builtin_constant_p (__n) || __n <= 0)
- return __fgetws_unlocked_chk (__s, __bos (__s) / sizeof (wchar_t),
- __n, __stream);
-
- if ((size_t) __n > __bos (__s) / sizeof (wchar_t))
- return __fgetws_unlocked_chk_warn (__s, __bos (__s) / sizeof (wchar_t),
- __n, __stream);
- }
- return __fgetws_unlocked_alias (__s, __n, __stream);
-}
-#endif
-
-
-extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
- mbstate_t *__restrict __p,
- size_t __buflen) __THROW __wur;
-extern size_t __REDIRECT_NTH (__wcrtomb_alias,
- (char *__restrict __s, wchar_t __wchar,
- mbstate_t *__restrict __ps), wcrtomb) __wur;
-
-__fortify_function __wur size_t
-__NTH (wcrtomb (char *__restrict __s, wchar_t __wchar,
- mbstate_t *__restrict __ps))
-{
- /* We would have to include <limits.h> to get a definition of MB_LEN_MAX.
- But this would only disturb the namespace. So we define our own
- version here. */
-#define __WCHAR_MB_LEN_MAX 16
-#if defined MB_LEN_MAX && MB_LEN_MAX != __WCHAR_MB_LEN_MAX
-# error "Assumed value of MB_LEN_MAX wrong"
-#endif
- if (__bos (__s) != (size_t) -1 && __WCHAR_MB_LEN_MAX > __bos (__s))
- return __wcrtomb_chk (__s, __wchar, __ps, __bos (__s));
- return __wcrtomb_alias (__s, __wchar, __ps);
-}
-
-
-extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
- const char **__restrict __src,
- size_t __len, mbstate_t *__restrict __ps,
- size_t __dstlen) __THROW;
-extern size_t __REDIRECT_NTH (__mbsrtowcs_alias,
- (wchar_t *__restrict __dst,
- const char **__restrict __src,
- size_t __len, mbstate_t *__restrict __ps),
- mbsrtowcs);
-extern size_t __REDIRECT_NTH (__mbsrtowcs_chk_warn,
- (wchar_t *__restrict __dst,
- const char **__restrict __src,
- size_t __len, mbstate_t *__restrict __ps,
- size_t __dstlen), __mbsrtowcs_chk)
- __warnattr ("mbsrtowcs called with dst buffer smaller than len "
- "* sizeof (wchar_t)");
-
-__fortify_function size_t
-__NTH (mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src,
- size_t __len, mbstate_t *__restrict __ps))
-{
- if (__bos (__dst) != (size_t) -1)
- {
- if (!__builtin_constant_p (__len))
- return __mbsrtowcs_chk (__dst, __src, __len, __ps,
- __bos (__dst) / sizeof (wchar_t));
-
- if (__len > __bos (__dst) / sizeof (wchar_t))
- return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps,
- __bos (__dst) / sizeof (wchar_t));
- }
- return __mbsrtowcs_alias (__dst, __src, __len, __ps);
-}
-
-
-extern size_t __wcsrtombs_chk (char *__restrict __dst,
- const wchar_t **__restrict __src,
- size_t __len, mbstate_t *__restrict __ps,
- size_t __dstlen) __THROW;
-extern size_t __REDIRECT_NTH (__wcsrtombs_alias,
- (char *__restrict __dst,
- const wchar_t **__restrict __src,
- size_t __len, mbstate_t *__restrict __ps),
- wcsrtombs);
-extern size_t __REDIRECT_NTH (__wcsrtombs_chk_warn,
- (char *__restrict __dst,
- const wchar_t **__restrict __src,
- size_t __len, mbstate_t *__restrict __ps,
- size_t __dstlen), __wcsrtombs_chk)
- __warnattr ("wcsrtombs called with dst buffer smaller than len");
-
-__fortify_function size_t
-__NTH (wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src,
- size_t __len, mbstate_t *__restrict __ps))
-{
- if (__bos (__dst) != (size_t) -1)
- {
- if (!__builtin_constant_p (__len))
- return __wcsrtombs_chk (__dst, __src, __len, __ps, __bos (__dst));
-
- if (__len > __bos (__dst))
- return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __bos (__dst));
- }
- return __wcsrtombs_alias (__dst, __src, __len, __ps);
-}
-
-
-#ifdef __USE_GNU
-extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
- const char **__restrict __src, size_t __nmc,
- size_t __len, mbstate_t *__restrict __ps,
- size_t __dstlen) __THROW;
-extern size_t __REDIRECT_NTH (__mbsnrtowcs_alias,
- (wchar_t *__restrict __dst,
- const char **__restrict __src, size_t __nmc,
- size_t __len, mbstate_t *__restrict __ps),
- mbsnrtowcs);
-extern size_t __REDIRECT_NTH (__mbsnrtowcs_chk_warn,
- (wchar_t *__restrict __dst,
- const char **__restrict __src, size_t __nmc,
- size_t __len, mbstate_t *__restrict __ps,
- size_t __dstlen), __mbsnrtowcs_chk)
- __warnattr ("mbsnrtowcs called with dst buffer smaller than len "
- "* sizeof (wchar_t)");
-
-__fortify_function size_t
-__NTH (mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src,
- size_t __nmc, size_t __len, mbstate_t *__restrict __ps))
-{
- if (__bos (__dst) != (size_t) -1)
- {
- if (!__builtin_constant_p (__len))
- return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps,
- __bos (__dst) / sizeof (wchar_t));
-
- if (__len > __bos (__dst) / sizeof (wchar_t))
- return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps,
- __bos (__dst) / sizeof (wchar_t));
- }
- return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps);
-}
-
-
-extern size_t __wcsnrtombs_chk (char *__restrict __dst,
- const wchar_t **__restrict __src,
- size_t __nwc, size_t __len,
- mbstate_t *__restrict __ps, size_t __dstlen)
- __THROW;
-extern size_t __REDIRECT_NTH (__wcsnrtombs_alias,
- (char *__restrict __dst,
- const wchar_t **__restrict __src,
- size_t __nwc, size_t __len,
- mbstate_t *__restrict __ps), wcsnrtombs);
-extern size_t __REDIRECT_NTH (__wcsnrtombs_chk_warn,
- (char *__restrict __dst,
- const wchar_t **__restrict __src,
- size_t __nwc, size_t __len,
- mbstate_t *__restrict __ps,
- size_t __dstlen), __wcsnrtombs_chk)
- __warnattr ("wcsnrtombs called with dst buffer smaller than len");
-
-__fortify_function size_t
-__NTH (wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src,
- size_t __nwc, size_t __len, mbstate_t *__restrict __ps))
-{
- if (__bos (__dst) != (size_t) -1)
- {
- if (!__builtin_constant_p (__len))
- return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps,
- __bos (__dst));
-
- if (__len > __bos (__dst))
- return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps,
- __bos (__dst));
- }
- return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps);
-}
-#endif
diff --git a/wcsmbs/btowc.c b/wcsmbs/btowc.c
deleted file mode 100644
index 22464dc5e2..0000000000
--- a/wcsmbs/btowc.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <ctype.h>
-#include <dlfcn.h>
-#include <gconv.h>
-#include <stdio.h>
-#include <string.h>
-#include <wchar.h>
-#include <wcsmbsload.h>
-#include <limits.h>
-
-#include <sysdep.h>
-
-
-wint_t
-__btowc (int c)
-{
- const struct gconv_fcts *fcts;
-
- /* If the parameter does not fit into one byte or it is the EOF value
- we can give the answer now. */
- if (c < SCHAR_MIN || c > UCHAR_MAX || c == EOF)
- return WEOF;
-
- /* We know that only ASCII compatible encodings are used for the
- locale and that the wide character encoding is ISO 10646. */
- if (isascii (c))
- return (wint_t) c;
-
- /* Get the conversion functions. */
- fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
- __gconv_btowc_fct btowc_fct = fcts->towc->__btowc_fct;
-
- if (__builtin_expect (fcts->towc_nsteps == 1, 1)
- && __builtin_expect (btowc_fct != NULL, 1))
- {
- /* Use the shortcut function. */
-#ifdef PTR_DEMANGLE
- if (fcts->towc->__shlib_handle != NULL)
- PTR_DEMANGLE (btowc_fct);
-#endif
- return DL_CALL_FCT (btowc_fct, (fcts->towc, (unsigned char) c));
- }
- else
- {
- /* Fall back to the slow but generic method. */
- wchar_t result;
- struct __gconv_step_data data;
- unsigned char inbuf[1];
- const unsigned char *inptr = inbuf;
- size_t dummy;
- int status;
-
- /* Tell where we want the result. */
- data.__outbuf = (unsigned char *) &result;
- data.__outbufend = data.__outbuf + sizeof (wchar_t);
- data.__invocation_counter = 0;
- data.__internal_use = 1;
- data.__flags = __GCONV_IS_LAST;
- data.__statep = &data.__state;
-
- /* Make sure we start in the initial state. */
- memset (&data.__state, '\0', sizeof (mbstate_t));
-
- /* Create the input string. */
- inbuf[0] = c;
-
- __gconv_fct fct = fcts->towc->__fct;
-#ifdef PTR_DEMANGLE
- if (fcts->towc->__shlib_handle != NULL)
- PTR_DEMANGLE (fct);
-#endif
- status = DL_CALL_FCT (fct, (fcts->towc, &data, &inptr, inptr + 1,
- NULL, &dummy, 0, 1));
-
- if (status != __GCONV_OK && status != __GCONV_FULL_OUTPUT
- && status != __GCONV_EMPTY_INPUT)
- /* The conversion failed. */
- result = WEOF;
-
- return result;
- }
-}
-weak_alias (__btowc, btowc)
diff --git a/wcsmbs/c16rtomb.c b/wcsmbs/c16rtomb.c
deleted file mode 100644
index 9e6b6a218f..0000000000
--- a/wcsmbs/c16rtomb.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <uchar.h>
-#include <wchar.h>
-
-
-/* This is the private state used if PS is NULL. */
-static mbstate_t state;
-
-size_t
-c16rtomb (char *s, char16_t c16, mbstate_t *ps)
-{
- // XXX The ISO C 11 spec I have does not say anything about handling
- // XXX surrogates in this interface.
- return wcrtomb (s, c16, ps ?: &state);
-}
diff --git a/wcsmbs/isoc99_fwscanf.c b/wcsmbs/isoc99_fwscanf.c
deleted file mode 100644
index 8079edcd1d..0000000000
--- a/wcsmbs/isoc99_fwscanf.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright (C) 1991-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <libioP.h>
-#include <stdarg.h>
-#include <stdio.h>
-#include <wchar.h>
-
-/* Read formatted input from STREAM according to the format string FORMAT. */
-/* VARARGS2 */
-int
-__isoc99_fwscanf (FILE *stream, const wchar_t *format, ...)
-{
- va_list arg;
- int done;
-
- _IO_acquire_lock_clear_flags2 (stream);
- stream->_flags2 |= _IO_FLAGS2_SCANF_STD;
-
- va_start (arg, format);
- done = _IO_vfwscanf (stream, format, arg, NULL);
- va_end (arg);
-
- _IO_release_lock (stream);
- return done;
-}
diff --git a/wcsmbs/isoc99_swscanf.c b/wcsmbs/isoc99_swscanf.c
deleted file mode 100644
index 872df09806..0000000000
--- a/wcsmbs/isoc99_swscanf.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright (C) 1991-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <libioP.h>
-#include <wchar.h>
-
-/* Read formatted input from S, according to the format string FORMAT. */
-/* VARARGS2 */
-int
-__isoc99_swscanf (const wchar_t *s, const wchar_t *format, ...)
-{
- va_list arg;
- int done;
-
- va_start (arg, format);
- done = __isoc99_vswscanf (s, format, arg);
- va_end (arg);
-
- return done;
-}
diff --git a/wcsmbs/isoc99_vfwscanf.c b/wcsmbs/isoc99_vfwscanf.c
deleted file mode 100644
index e35c39d8f2..0000000000
--- a/wcsmbs/isoc99_vfwscanf.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1991-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <libioP.h>
-#include <stdio.h>
-#include <wchar.h>
-
-/* Read formatted input from STREAM according to the format string FORMAT. */
-/* VARARGS2 */
-int
-__isoc99_vfwscanf (FILE *stream, const wchar_t *format, _IO_va_list args)
-{
- int done;
-
- _IO_acquire_lock_clear_flags2 (stream);
- stream->_flags2 |= _IO_FLAGS2_SCANF_STD;
- done = _IO_vfwscanf (stream, format, args, NULL);
- _IO_release_lock (stream);
- return done;
-}
-libc_hidden_def (__isoc99_vfwscanf)
diff --git a/wcsmbs/isoc99_vswscanf.c b/wcsmbs/isoc99_vswscanf.c
deleted file mode 100644
index 22dc4227d2..0000000000
--- a/wcsmbs/isoc99_vswscanf.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 1993-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>.
-
- As a special exception, if you link the code in this file with
- files compiled with a GNU compiler to produce an executable,
- that does not cause the resulting executable to be covered by
- the GNU Lesser General Public License. This exception does not
- however invalidate any other reasons why the executable file
- might be covered by the GNU Lesser General Public License.
- This exception applies to code released by its copyright holders
- in files containing the exception. */
-
-#include <libioP.h>
-#include <wchar.h>
-#include "../libio/strfile.h"
-
-int
-__isoc99_vswscanf (const wchar_t *string, const wchar_t *format,
- _IO_va_list args)
-{
- int ret;
- _IO_strfile sf;
- struct _IO_wide_data wd;
-#ifdef _IO_MTSAFE_IO
- sf._sbf._f._lock = NULL;
-#endif
- _IO_no_init (&sf._sbf._f, _IO_USER_LOCK, 0, &wd, &_IO_wstr_jumps);
- _IO_fwide (&sf._sbf._f, 1);
- _IO_wstr_init_static (&sf._sbf._f, (wchar_t *)string, 0, NULL);
- sf._sbf._f._flags2 |= _IO_FLAGS2_SCANF_STD;
- ret = _IO_vfwscanf ((_IO_FILE *) &sf._sbf, format, args, NULL);
- return ret;
-}
-libc_hidden_def (__isoc99_vswscanf)
diff --git a/wcsmbs/isoc99_vwscanf.c b/wcsmbs/isoc99_vwscanf.c
deleted file mode 100644
index f83ffb79b5..0000000000
--- a/wcsmbs/isoc99_vwscanf.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1991-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <libioP.h>
-#include <stdio.h>
-#include <wchar.h>
-
-/* Read formatted input from STDIN according to the format string FORMAT. */
-/* VARARGS2 */
-int
-__isoc99_vwscanf (const wchar_t *format, _IO_va_list args)
-{
- int done;
-
- _IO_acquire_lock_clear_flags2 (stdin);
- stdin->_flags2 |= _IO_FLAGS2_SCANF_STD;
- done = _IO_vfwscanf (stdin, format, args, NULL);
- _IO_release_lock (stdin);
- return done;
-}
diff --git a/wcsmbs/isoc99_wscanf.c b/wcsmbs/isoc99_wscanf.c
deleted file mode 100644
index 7eb6a19082..0000000000
--- a/wcsmbs/isoc99_wscanf.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright (C) 1991-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <libioP.h>
-#include <wchar.h>
-
-
-/* Read formatted input from stdin according to the format string FORMAT. */
-/* VARARGS1 */
-int
-__isoc99_wscanf (const wchar_t *format, ...)
-{
- va_list arg;
- int done;
-
- _IO_acquire_lock_clear_flags2 (stdin);
- stdin->_flags2 |= _IO_FLAGS2_SCANF_STD;
-
- va_start (arg, format);
- done = _IO_vfwscanf (stdin, format, arg, NULL);
- va_end (arg);
-
- _IO_release_lock (stdin);
- return done;
-}
diff --git a/wcsmbs/mbrlen.c b/wcsmbs/mbrlen.c
deleted file mode 100644
index 1e836381ee..0000000000
--- a/wcsmbs/mbrlen.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-/* The mbrlen function has an internal shift state which gets used if
- the PS parameter is NULL. */
-static mbstate_t internal;
-
-
-size_t
-__mbrlen (const char *s, size_t n, mbstate_t *ps)
-{
- return __mbrtowc (NULL, s, n, ps ?: &internal);
-}
-libc_hidden_def (__mbrlen)
-weak_alias (__mbrlen, mbrlen)
diff --git a/wcsmbs/mbrtoc16.c b/wcsmbs/mbrtoc16.c
deleted file mode 100644
index 0fc5bc5d82..0000000000
--- a/wcsmbs/mbrtoc16.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Copyright (C) 2011-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gmail.com>, 2011.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <dlfcn.h>
-#include <errno.h>
-#include <gconv.h>
-#include <uchar.h>
-#include <wcsmbsload.h>
-
-#include <sysdep.h>
-
-#ifndef EILSEQ
-# define EILSEQ EINVAL
-#endif
-
-
-/* This is the private state used if PS is NULL. */
-static mbstate_t state;
-
-size_t
-mbrtoc16 (char16_t *pc16, const char *s, size_t n, mbstate_t *ps)
-{
- if (ps == NULL)
- ps = &state;
-
- /* The standard text does not say that S being NULL means the state
- is reset even if the second half of a surrogate still have to be
- returned. In fact, the error code description indicates
- otherwise. Therefore always first try to return a second
- half. */
- if (ps->__count & 0x80000000)
- {
- /* We have to return the second word for a surrogate. */
- ps->__count &= 0x7fffffff;
- *pc16 = ps->__value.__wch;
- ps->__value.__wch = L'\0';
- return (size_t) -3;
- }
-
- wchar_t wc;
- struct __gconv_step_data data;
- int status;
- size_t result;
- size_t dummy;
- const unsigned char *inbuf, *endbuf;
- unsigned char *outbuf = (unsigned char *) &wc;
- const struct gconv_fcts *fcts;
-
- /* Set information for this step. */
- data.__invocation_counter = 0;
- data.__internal_use = 1;
- data.__flags = __GCONV_IS_LAST;
- data.__statep = ps;
-
- /* A first special case is if S is NULL. This means put PS in the
- initial state. */
- if (s == NULL)
- {
- pc16 = NULL;
- s = "";
- n = 1;
- }
-
- if (n == 0)
- return (size_t) -2;
-
- /* Tell where we want the result. */
- data.__outbuf = outbuf;
- data.__outbufend = outbuf + sizeof (wchar_t);
-
- /* Get the conversion functions. */
- fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
-
- /* Do a normal conversion. */
- inbuf = (const unsigned char *) s;
- endbuf = inbuf + n;
- if (__glibc_unlikely (endbuf < inbuf))
- {
- endbuf = (const unsigned char *) ~(uintptr_t) 0;
- if (endbuf == inbuf)
- goto ilseq;
- }
- __gconv_fct fct = fcts->towc->__fct;
-#ifdef PTR_DEMANGLE
- if (fcts->towc->__shlib_handle != NULL)
- PTR_DEMANGLE (fct);
-#endif
-
- status = DL_CALL_FCT (fct, (fcts->towc, &data, &inbuf, endbuf,
- NULL, &dummy, 0, 1));
-
- /* There must not be any problems with the conversion but illegal input
- characters. The output buffer must be large enough, otherwise the
- definition of MB_CUR_MAX is not correct. All the other possible
- errors also must not happen. */
- assert (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_ILLEGAL_INPUT
- || status == __GCONV_INCOMPLETE_INPUT
- || status == __GCONV_FULL_OUTPUT);
-
- if (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_FULL_OUTPUT)
- {
- result = inbuf - (const unsigned char *) s;
-
- if (wc < 0x10000)
- {
- if (pc16 != NULL)
- *pc16 = wc;
-
- if (data.__outbuf != outbuf && wc == L'\0')
- {
- /* The converted character is the NUL character. */
- assert (__mbsinit (data.__statep));
- result = 0;
- }
- }
- else
- {
- /* This is a surrogate. */
- if (pc16 != NULL)
- *pc16 = 0xd7c0 + (wc >> 10);
-
- ps->__count |= 0x80000000;
- ps->__value.__wch = 0xdc00 + (wc & 0x3ff);
- }
- }
- else if (status == __GCONV_INCOMPLETE_INPUT)
- result = (size_t) -2;
- else
- {
- ilseq:
- result = (size_t) -1;
- __set_errno (EILSEQ);
- }
-
- return result;
-}
diff --git a/wcsmbs/mbrtowc.c b/wcsmbs/mbrtowc.c
deleted file mode 100644
index ea207bd0c6..0000000000
--- a/wcsmbs/mbrtowc.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <dlfcn.h>
-#include <errno.h>
-#include <gconv.h>
-#include <wchar.h>
-#include <wcsmbsload.h>
-
-#include <sysdep.h>
-
-#ifndef EILSEQ
-# define EILSEQ EINVAL
-#endif
-
-/* This is the private state used if PS is NULL. */
-static mbstate_t state;
-
-size_t
-__mbrtowc (wchar_t *pwc, const char *s, size_t n, mbstate_t *ps)
-{
- wchar_t buf[1];
- struct __gconv_step_data data;
- int status;
- size_t result;
- size_t dummy;
- const unsigned char *inbuf, *endbuf;
- unsigned char *outbuf = (unsigned char *) (pwc ?: buf);
- const struct gconv_fcts *fcts;
-
- /* Set information for this step. */
- data.__invocation_counter = 0;
- data.__internal_use = 1;
- data.__flags = __GCONV_IS_LAST;
- data.__statep = ps ?: &state;
-
- /* A first special case is if S is NULL. This means put PS in the
- initial state. */
- if (s == NULL)
- {
- outbuf = (unsigned char *) buf;
- s = "";
- n = 1;
- }
-
- if (n == 0)
- return (size_t) -2;
-
- /* Tell where we want the result. */
- data.__outbuf = outbuf;
- data.__outbufend = outbuf + sizeof (wchar_t);
-
- /* Get the conversion functions. */
- fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
-
- /* Do a normal conversion. */
- inbuf = (const unsigned char *) s;
- endbuf = inbuf + n;
- if (__glibc_unlikely (endbuf < inbuf))
- {
- endbuf = (const unsigned char *) ~(uintptr_t) 0;
- if (endbuf == inbuf)
- goto ilseq;
- }
- __gconv_fct fct = fcts->towc->__fct;
-#ifdef PTR_DEMANGLE
- if (fcts->towc->__shlib_handle != NULL)
- PTR_DEMANGLE (fct);
-#endif
- status = DL_CALL_FCT (fct, (fcts->towc, &data, &inbuf, endbuf,
- NULL, &dummy, 0, 1));
-
- /* There must not be any problems with the conversion but illegal input
- characters. The output buffer must be large enough, otherwise the
- definition of MB_CUR_MAX is not correct. All the other possible
- errors also must not happen. */
- assert (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_ILLEGAL_INPUT
- || status == __GCONV_INCOMPLETE_INPUT
- || status == __GCONV_FULL_OUTPUT);
-
- if (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_FULL_OUTPUT)
- {
- if (data.__outbuf != (unsigned char *) outbuf
- && *(wchar_t *) outbuf == L'\0')
- {
- /* The converted character is the NUL character. */
- assert (__mbsinit (data.__statep));
- result = 0;
- }
- else
- result = inbuf - (const unsigned char *) s;
- }
- else if (status == __GCONV_INCOMPLETE_INPUT)
- result = (size_t) -2;
- else
- {
- ilseq:
- result = (size_t) -1;
- __set_errno (EILSEQ);
- }
-
- return result;
-}
-libc_hidden_def (__mbrtowc)
-weak_alias (__mbrtowc, mbrtowc)
-libc_hidden_weak (mbrtowc)
-
-/* There should be no difference between the UTF-32 handling required
- by mbrtoc32 and the wchar_t handling which has long since been
- implemented in mbrtowc. */
-weak_alias (__mbrtowc, mbrtoc32)
diff --git a/wcsmbs/mbsinit.c b/wcsmbs/mbsinit.c
deleted file mode 100644
index a34787d8ff..0000000000
--- a/wcsmbs/mbsinit.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <string.h>
-#include <wchar.h>
-
-#undef mbsinit
-#undef __mbsinit
-
-/* In GNU libc the conversion functions only can convert between the
- fixed wide character representation and the multibyte
- representation of the same character set. Since we use ISO 10646
- in UCS4 encoding for wide characters the best solution for
- multibyte characters is the UTF8 encoding. I.e., the only state
- information is a counter of the processed bytes so far and the
- value collected so far. Especially, we don't have different shift
- states. */
-int
-__mbsinit (const mbstate_t *ps)
-{
- return ps == NULL || ps->__count == 0;
-}
-weak_alias (__mbsinit, mbsinit)
diff --git a/wcsmbs/mbsnrtowcs.c b/wcsmbs/mbsnrtowcs.c
deleted file mode 100644
index ed51678e5b..0000000000
--- a/wcsmbs/mbsnrtowcs.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <dlfcn.h>
-#include <errno.h>
-#include <gconv.h>
-#include <string.h>
-#include <wchar.h>
-#include <wcsmbsload.h>
-
-#include <sysdep.h>
-
-#ifndef EILSEQ
-# define EILSEQ EINVAL
-#endif
-
-
-/* This is the private state used if PS is NULL. */
-static mbstate_t state;
-
-/* This is a non-standard function but it is very useful in the
- implementation of stdio because we have to deal with unterminated
- buffers. At most NMC bytes will be converted. */
-size_t
-__mbsnrtowcs (wchar_t *dst, const char **src, size_t nmc, size_t len,
- mbstate_t *ps)
-{
- const unsigned char *srcend;
- struct __gconv_step_data data;
- size_t result;
- int status;
- struct __gconv_step *towc;
- size_t dummy;
- const struct gconv_fcts *fcts;
-
- /* Tell where we want the result. */
- data.__invocation_counter = 0;
- data.__internal_use = 1;
- data.__flags = __GCONV_IS_LAST;
- data.__statep = ps ?: &state;
-
- if (nmc == 0)
- return 0;
- srcend = (const unsigned char *) *src + __strnlen (*src, nmc - 1) + 1;
-
- /* Get the conversion functions. */
- fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
-
- /* Get the structure with the function pointers. */
- towc = fcts->towc;
- __gconv_fct fct = towc->__fct;
-#ifdef PTR_DEMANGLE
- if (towc->__shlib_handle != NULL)
- PTR_DEMANGLE (fct);
-#endif
-
- /* We have to handle DST == NULL special. */
- if (dst == NULL)
- {
- mbstate_t temp_state;
- wchar_t buf[64]; /* Just an arbitrary size. */
- const unsigned char *inbuf = (const unsigned char *) *src;
-
- temp_state = *data.__statep;
- data.__statep = &temp_state;
-
- result = 0;
- data.__outbufend = (unsigned char *) buf + sizeof (buf);
- do
- {
- data.__outbuf = (unsigned char *) buf;
-
- status = DL_CALL_FCT (fct, (towc, &data, &inbuf, srcend, NULL,
- &dummy, 0, 1));
-
- result += (wchar_t *) data.__outbuf - buf;
- }
- while (status == __GCONV_FULL_OUTPUT);
-
- if ((status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
- && ((wchar_t *) data.__outbuf)[-1] == L'\0')
- /* Don't count the NUL character in. */
- --result;
- }
- else
- {
- /* This code is based on the safe assumption that all internal
- multi-byte encodings use the NUL byte only to mark the end
- of the string. */
- data.__outbuf = (unsigned char *) dst;
- data.__outbufend = data.__outbuf + len * sizeof (wchar_t);
-
- status = DL_CALL_FCT (fct,
- (towc, &data, (const unsigned char **) src, srcend,
- NULL, &dummy, 0, 1));
-
- result = (wchar_t *) data.__outbuf - dst;
-
- /* We have to determine whether the last character converted
- is the NUL character. */
- if ((status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
- && (assert (result > 0),
- ((wchar_t *) dst)[result - 1] == L'\0'))
- {
- assert (__mbsinit (data.__statep));
- *src = NULL;
- --result;
- }
- }
-
- /* There must not be any problems with the conversion but illegal input
- characters. */
- assert (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_ILLEGAL_INPUT
- || status == __GCONV_INCOMPLETE_INPUT
- || status == __GCONV_FULL_OUTPUT);
-
- if (status != __GCONV_OK && status != __GCONV_FULL_OUTPUT
- && status != __GCONV_EMPTY_INPUT && status != __GCONV_INCOMPLETE_INPUT)
- {
- result = (size_t) -1;
- __set_errno (EILSEQ);
- }
-
- return result;
-}
-weak_alias (__mbsnrtowcs, mbsnrtowcs)
diff --git a/wcsmbs/mbsrtowcs.c b/wcsmbs/mbsrtowcs.c
deleted file mode 100644
index 796f62f19e..0000000000
--- a/wcsmbs/mbsrtowcs.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include <locale/localeinfo.h>
-
-
-/* This is the private state used if PS is NULL. */
-static mbstate_t state;
-
-size_t
-__mbsrtowcs (wchar_t *dst, const char **src, size_t len, mbstate_t *ps)
-{
- return __mbsrtowcs_l (dst, src, len, ps ?: &state, _NL_CURRENT_LOCALE);
-}
-weak_alias (__mbsrtowcs, mbsrtowcs)
diff --git a/wcsmbs/mbsrtowcs_l.c b/wcsmbs/mbsrtowcs_l.c
deleted file mode 100644
index 4ffb652b26..0000000000
--- a/wcsmbs/mbsrtowcs_l.c
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Copyright (C) 2002-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.org>, 2002.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <ctype.h>
-#include <string.h>
-#include "wcsmbsload.h"
-#include <dlfcn.h>
-#include <errno.h>
-#include <gconv.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-#include <wcsmbsload.h>
-
-#include <sysdep.h>
-
-#ifndef EILSEQ
-# define EILSEQ EINVAL
-#endif
-
-
-size_t
-attribute_hidden
-__mbsrtowcs_l (wchar_t *dst, const char **src, size_t len, mbstate_t *ps,
- __locale_t l)
-{
- struct __gconv_step_data data;
- size_t result;
- int status;
- struct __gconv_step *towc;
- size_t non_reversible;
- const struct gconv_fcts *fcts;
-
- /* Tell where we want the result. */
- data.__invocation_counter = 0;
- data.__internal_use = 1;
- data.__flags = __GCONV_IS_LAST;
- data.__statep = ps;
-
- /* Get the conversion functions. */
- fcts = get_gconv_fcts (l->__locales[LC_CTYPE]);
-
- /* Get the structure with the function pointers. */
- towc = fcts->towc;
- __gconv_fct fct = towc->__fct;
-#ifdef PTR_DEMANGLE
- if (towc->__shlib_handle != NULL)
- PTR_DEMANGLE (fct);
-#endif
-
- /* We have to handle DST == NULL special. */
- if (dst == NULL)
- {
- mbstate_t temp_state;
- wchar_t buf[64]; /* Just an arbitrary size. */
- const unsigned char *inbuf = (const unsigned char *) *src;
- const unsigned char *srcend = inbuf + strlen (*src) + 1;
-
- temp_state = *data.__statep;
- data.__statep = &temp_state;
-
- result = 0;
- data.__outbufend = (unsigned char *) buf + sizeof (buf);
- do
- {
- data.__outbuf = (unsigned char *) buf;
-
- status = DL_CALL_FCT (fct, (towc, &data, &inbuf, srcend, NULL,
- &non_reversible, 0, 1));
-
- result += (wchar_t *) data.__outbuf - buf;
- }
- while (status == __GCONV_FULL_OUTPUT);
-
- if (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
- {
- /* There better should be a NUL wide char at the end. */
- assert (((wchar_t *) data.__outbuf)[-1] == L'\0');
- /* Don't count the NUL character in. */
- --result;
- }
- }
- else
- {
- /* This code is based on the safe assumption that all internal
- multi-byte encodings use the NUL byte only to mark the end
- of the string. */
- const unsigned char *srcp = (const unsigned char *) *src;
- const unsigned char *srcend;
-
- data.__outbuf = (unsigned char *) dst;
- data.__outbufend = data.__outbuf + len * sizeof (wchar_t);
-
- status = __GCONV_FULL_OUTPUT;
-
- while (len > 0)
- {
- /* Pessimistic guess as to how much input we can use. In the
- worst case we need one input byte for one output wchar_t. */
- srcend = srcp + __strnlen ((const char *) srcp, len) + 1;
-
- status = DL_CALL_FCT (fct, (towc, &data, &srcp, srcend, NULL,
- &non_reversible, 0, 1));
- if ((status != __GCONV_EMPTY_INPUT
- && status != __GCONV_INCOMPLETE_INPUT)
- /* Not all input read. */
- || srcp != srcend
- /* Reached the end of the input. */
- || srcend[-1] == '\0')
- break;
-
- len = (wchar_t *) data.__outbufend - (wchar_t *) data.__outbuf;
- }
-
- /* Make the end if the input known to the caller. */
- *src = (const char *) srcp;
-
- result = (wchar_t *) data.__outbuf - dst;
-
- /* We have to determine whether the last character converted
- is the NUL character. */
- if ((status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
- && ((wchar_t *) dst)[result - 1] == L'\0')
- {
- assert (result > 0);
- assert (__mbsinit (data.__statep));
- *src = NULL;
- --result;
- }
- }
-
- /* There must not be any problems with the conversion but illegal input
- characters. */
- assert (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_ILLEGAL_INPUT
- || status == __GCONV_INCOMPLETE_INPUT
- || status == __GCONV_FULL_OUTPUT);
-
- if (status != __GCONV_OK && status != __GCONV_FULL_OUTPUT
- && status != __GCONV_EMPTY_INPUT && status != __GCONV_INCOMPLETE_INPUT)
- {
- result = (size_t) -1;
- __set_errno (EILSEQ);
- }
-
- return result;
-}
diff --git a/wcsmbs/test-wcpcpy.c b/wcsmbs/test-wcpcpy.c
deleted file mode 100644
index c174d33bdc..0000000000
--- a/wcsmbs/test-wcpcpy.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcspcpy functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-stpcpy.c"
diff --git a/wcsmbs/test-wcpncpy.c b/wcsmbs/test-wcpncpy.c
deleted file mode 100644
index f037e415fd..0000000000
--- a/wcsmbs/test-wcpncpy.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcpncpy functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-stpncpy.c"
diff --git a/wcsmbs/test-wcscat.c b/wcsmbs/test-wcscat.c
deleted file mode 100644
index 1422219407..0000000000
--- a/wcsmbs/test-wcscat.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcscat functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-strcat.c"
diff --git a/wcsmbs/test-wcschr.c b/wcsmbs/test-wcschr.c
deleted file mode 100644
index be0abf7aed..0000000000
--- a/wcsmbs/test-wcschr.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define WIDE 1
-#include "../string/test-strchr.c"
diff --git a/wcsmbs/test-wcschrnul.c b/wcsmbs/test-wcschrnul.c
deleted file mode 100644
index 624e687b14..0000000000
--- a/wcsmbs/test-wcschrnul.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcschrnul functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-strchrnul.c"
diff --git a/wcsmbs/test-wcscmp.c b/wcsmbs/test-wcscmp.c
deleted file mode 100644
index aa18c30a61..0000000000
--- a/wcsmbs/test-wcscmp.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define WIDE 1
-#include "../string/test-strcmp.c"
diff --git a/wcsmbs/test-wcscpy.c b/wcsmbs/test-wcscpy.c
deleted file mode 100644
index b7cad535f3..0000000000
--- a/wcsmbs/test-wcscpy.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define WIDE 1
-#include "../string/test-strcpy.c"
diff --git a/wcsmbs/test-wcscspn.c b/wcsmbs/test-wcscspn.c
deleted file mode 100644
index 93d64f3914..0000000000
--- a/wcsmbs/test-wcscspn.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcscspn functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-strcspn.c"
diff --git a/wcsmbs/test-wcslen.c b/wcsmbs/test-wcslen.c
deleted file mode 100644
index 496fa185e2..0000000000
--- a/wcsmbs/test-wcslen.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define WIDE 1
-#include "../string/test-strlen.c"
diff --git a/wcsmbs/test-wcsncat.c b/wcsmbs/test-wcsncat.c
deleted file mode 100644
index 51073d981a..0000000000
--- a/wcsmbs/test-wcsncat.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcsncat functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-strncat.c"
diff --git a/wcsmbs/test-wcsncmp.c b/wcsmbs/test-wcsncmp.c
deleted file mode 100644
index 07757d8e45..0000000000
--- a/wcsmbs/test-wcsncmp.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define WIDE 1
-#include "../string/test-strncmp.c"
diff --git a/wcsmbs/test-wcsncpy.c b/wcsmbs/test-wcsncpy.c
deleted file mode 100644
index 78a810a93f..0000000000
--- a/wcsmbs/test-wcsncpy.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcsncpy functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-strncpy.c"
diff --git a/wcsmbs/test-wcsnlen.c b/wcsmbs/test-wcsnlen.c
deleted file mode 100644
index d216bcb163..0000000000
--- a/wcsmbs/test-wcsnlen.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcsnlen function.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-strnlen.c"
diff --git a/wcsmbs/test-wcspbrk.c b/wcsmbs/test-wcspbrk.c
deleted file mode 100644
index 087b72be17..0000000000
--- a/wcsmbs/test-wcspbrk.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcspbrk functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-strpbrk.c"
diff --git a/wcsmbs/test-wcsrchr.c b/wcsmbs/test-wcsrchr.c
deleted file mode 100644
index 95a5568742..0000000000
--- a/wcsmbs/test-wcsrchr.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define WIDE 1
-#include "../string/test-strrchr.c"
diff --git a/wcsmbs/test-wcsspn.c b/wcsmbs/test-wcsspn.c
deleted file mode 100644
index 3cd3871ab6..0000000000
--- a/wcsmbs/test-wcsspn.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wcsspn functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-strspn.c"
diff --git a/wcsmbs/test-wmemchr.c b/wcsmbs/test-wmemchr.c
deleted file mode 100644
index 69f0c260d4..0000000000
--- a/wcsmbs/test-wmemchr.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wmemchr functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-memchr.c"
diff --git a/wcsmbs/test-wmemcmp.c b/wcsmbs/test-wmemcmp.c
deleted file mode 100644
index 73bc4b72c8..0000000000
--- a/wcsmbs/test-wmemcmp.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define WIDE 1
-#include "../string/test-memcmp.c"
diff --git a/wcsmbs/test-wmemset.c b/wcsmbs/test-wmemset.c
deleted file mode 100644
index cea3eea0c2..0000000000
--- a/wcsmbs/test-wmemset.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Test wmemset functions.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define WIDE 1
-#include "../string/test-memset.c"
diff --git a/wcsmbs/tst-btowc.c b/wcsmbs/tst-btowc.c
deleted file mode 100644
index 670ee2226f..0000000000
--- a/wcsmbs/tst-btowc.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <locale.h>
-#include <stdio.h>
-#include <wchar.h>
-
-
-/* Currently selected locale. */
-static const char *current_locale;
-
-
-/* Test which should succeed. */
-static int
-ok_test (int c, wint_t expwc)
-{
- wint_t wc = btowc (c);
-
- if (wc != expwc)
- {
- printf ("%s: btowc('%c') failed, returned L'\\x%x' instead of L'\\x%x'\n",
- current_locale, c, wc, expwc);
- return 1;
- }
-
- return 0;
-}
-
-/* Test which should fail. */
-static int
-fail_test (int c)
-{
- wint_t wc = btowc (c);
-
- if (wc != WEOF)
- {
- printf ("%s: btowc('%c') succeded, returned L'\\x%x' instead of WEOF\n",
- current_locale, c, wc);
- return 1;
- }
-
- return 0;
-}
-
-
-/* Test EOF handling. */
-static int
-eof_test (void)
-{
- wint_t wc = btowc (EOF);
- if (wc != WEOF)
- {
- printf ("%s: btowc(EOF) returned L'\\x%x', not WEOF\n",
- current_locale, wc);
- }
-
- return 0;
-}
-
-
-/* Test the btowc() function for a few locales with known character sets. */
-static int
-do_test (void)
-{
- int result = 0;
-
- current_locale = setlocale (LC_ALL, "en_US.ANSI_X3.4-1968");
- if (current_locale == NULL)
- {
- puts ("cannot set locale \"en_US.ANSI_X3.4-1968\"");
- result = 1;
- }
- else
- {
- int c;
-
- for (c = 0; c < 128; ++c)
- result |= ok_test (c, c);
-
- for (c = 128; c < 256; ++c)
- result |= fail_test (c);
-
- result |= eof_test ();
- }
-
- current_locale = setlocale (LC_ALL, "de_DE.ISO-8859-1");
- if (current_locale == NULL)
- {
- puts ("cannot set locale \"de_DE.ISO-8859-1\"");
- result = 1;
- }
- else
- {
- int c;
-
- for (c = 0; c < 256; ++c)
- result |= ok_test (c, c);
-
- result |= eof_test ();
- }
-
- current_locale = setlocale (LC_ALL, "de_DE.UTF-8");
- if (current_locale == NULL)
- {
- puts ("cannot set locale \"de_DE.UTF-8\"");
- result = 1;
- }
- else
- {
- int c;
-
- for (c = 0; c < 128; ++c)
- result |= ok_test (c, c);
-
- for (c = 128; c < 256; ++c)
- result |= fail_test (c);
-
- result |= eof_test ();
- }
-
- current_locale = setlocale (LC_ALL, "hr_HR.ISO-8859-2");
- if (current_locale == NULL)
- {
- puts ("cannot set locale \"hr_HR.ISO-8859-2\"");
- result = 1;
- }
- else
- {
- static const wint_t upper_half[] =
- {
- 0x0104, 0x02D8, 0x0141, 0x00A4, 0x013D, 0x015A, 0x00A7, 0x00A8,
- 0x0160, 0x015E, 0x0164, 0x0179, 0x00AD, 0x017D, 0x017B, 0x00B0,
- 0x0105, 0x02DB, 0x0142, 0x00B4, 0x013E, 0x015B, 0x02C7, 0x00B8,
- 0x0161, 0x015F, 0x0165, 0x017A, 0x02DD, 0x017E, 0x017C, 0x0154,
- 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7, 0x010C,
- 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E, 0x0110,
- 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7, 0x0158,
- 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF, 0x0155,
- 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7, 0x010D,
- 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F, 0x0111,
- 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7, 0x0159,
- 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9
- };
- int c;
-
- for (c = 0; c < 161; ++c)
- result |= ok_test (c, c);
-
- for (c = 161; c < 256; ++c)
- result |= ok_test (c, upper_half[c - 161]);
-
- result |= eof_test ();
- }
-
- if (result == 0)
- puts ("all OK");
-
- return result;
-}
-
-#include <support/test-driver.c>
diff --git a/wcsmbs/tst-c16c32-1.c b/wcsmbs/tst-c16c32-1.c
deleted file mode 100644
index 3b1c1d674c..0000000000
--- a/wcsmbs/tst-c16c32-1.c
+++ /dev/null
@@ -1,131 +0,0 @@
-#include <inttypes.h>
-#include <locale.h>
-#include <stdio.h>
-#include <uchar.h>
-#include <stdint.h>
-
-static int
-do_test (void)
-{
- if (setlocale (LC_ALL, "de_DE.UTF-8") == NULL)
- {
- puts ("cannot set locale");
- return 1;
- }
-
- int result = 0;
-
- char32_t c32 = 48;
- do
- {
- if (c32 >= 0xd800 && c32 <= 0xe000)
- continue;
-
- char buf[20];
- size_t n1 = c32rtomb (buf, c32, NULL);
- if (n1 <= 0)
- {
- printf ("c32rtomb for U'\\x%" PRIx32 "' failed\n", (uint32_t) c32);
- result = 1;
- continue;
- }
-
- char32_t c32out;
- size_t n2 = mbrtoc32 (&c32out, buf, n1, NULL);
- if ((ssize_t) n2 < 0)
- {
- printf ("mbrtoc32 for U'\\x%" PRIx32 "' failed\n", (uint32_t) c32);
- result = 1;
- continue;
- }
- if (n2 != n1)
- {
- printf ("mbrtoc32 for U'\\x%" PRIx32 "' consumed %zu bytes, not %zu\n",
- (uint32_t) c32, n2, n1);
- result = 1;
- }
- else if (c32out != c32)
- {
- printf ("mbrtoc32 for U'\\x%" PRIx32 "' produced U'\\x%" PRIx32 "\n",
- (uint32_t) c32, (uint32_t) c32out);
- result = 1;
- }
-
- char16_t c16;
- size_t n3 = mbrtoc16 (&c16, buf, n1, NULL);
- if (n3 != n1)
- {
- printf ("mbrtoc16 for U'\\x%" PRIx32 "' did not consume all bytes\n",
- (uint32_t) c32);
- result = 1;
- continue;
- }
- if (c32 < 0x10000)
- {
- if (c16 != c32)
- {
- printf ("mbrtoc16 for U'\\x%" PRIx32 "' produce u'\\x%" PRIx16 "'\n",
- (uint32_t) c32, (uint16_t) c16);
- result = 1;
- continue;
- }
- }
- else
- {
- buf[0] = '1';
- char16_t c16_2;
- size_t n4 = mbrtoc16 (&c16_2, buf, 1, NULL);
- if (n4 != (size_t) -3)
- {
- printf ("second mbrtoc16 for U'\\x%" PRIx32 "' did not return -3\n",
- (uint32_t) c32);
- result = 1;
- continue;
- }
-
- if (c32 != (((uint32_t) (c16 - 0xd7c0)) << 10) + (c16_2 - 0xdc00))
- {
- printf ("mbrtoc16 for U'\\x%" PRIx32 "' returns U'\\x%" PRIx32 "\n",
- (uint32_t) c32,
- (((uint32_t) (c16 - 0xd7c0)) << 10) + (c16_2 - 0xdc00));
- result = 1;
- continue;
- }
- }
-
- buf[0] = '\0';
- char16_t c16_nul;
- n3 = mbrtoc16 (&c16_nul, buf, n1, NULL);
- if (n3 != 0)
- {
- printf ("mbrtoc16 for '\\0' returns %zd\n", n3);
- result = 1;
- continue;
- }
-
- if (c32 < 0x10000)
- {
- size_t n5 = c16rtomb (buf, c16, NULL);
- if ((ssize_t) n5 < 0)
- {
- printf ("c16rtomb for U'\\x%" PRIx32 "' failed with %zd\n",
- (uint32_t) c32, n5);
- result = 1;
- continue;
- }
- if (n5 != n1)
- {
- printf ("c16rtomb for U'\\x%" PRIx32 "' produced %zu bytes instead of %zu bytes\n",
- (uint32_t) c32, n5, n1);
- result = 1;
- continue;
- }
- }
- }
- while ((c32 += 0x1111) <= U'\x12000');
-
- return result;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/wcsmbs/tst-mbrtowc.c b/wcsmbs/tst-mbrtowc.c
deleted file mode 100644
index 2bc1a0f8b2..0000000000
--- a/wcsmbs/tst-mbrtowc.c
+++ /dev/null
@@ -1,235 +0,0 @@
-/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-/* We always want assert to be fully defined. */
-#undef NDEBUG
-#include <assert.h>
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-
-
-static int check_ascii (const char *locname);
-
-/* UTF-8 single byte feeding test for mbrtowc(),
- contributed by Markus Kuhn <mkuhn@acm.org>. */
-static int
-utf8_test_1 (void)
-{
- wchar_t wc;
- mbstate_t s;
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2); /* 1st byte processed */
- assert (mbrtowc (&wc, "\x89", 1, &s) == (size_t) -2); /* 2nd byte processed */
- assert (wc == 42); /* no value has not been stored into &wc yet */
- assert (mbrtowc (&wc, "\xA0", 1, &s) == 1); /* 3nd byte processed */
- assert (wc == 0x2260); /* E2 89 A0 = U+2260 (not equal) decoded correctly */
- assert (mbrtowc (&wc, "", 1, &s) == 0); /* test final byte processing */
- assert (wc == 0); /* test final byte decoding */
-
- /* The following test is by Al Viro <aviro@redhat.com>. */
- const char str[] = "\xe0\xa0\x80";
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (&wc, str, 1, &s) == -2);
- assert (mbrtowc (&wc, str + 1, 2, &s) == 2);
- assert (wc == 0x800);
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (&wc, str, 3, &s) == 3);
- assert (wc == 0x800);
-
- return 0;
-}
-
-/* Test for NUL byte processing via empty string. */
-static int
-utf8_test_2 (void)
-{
- wchar_t wc;
- mbstate_t s;
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (NULL, "", 1, &s) == 0); /* valid terminator */
- assert (mbsinit (&s));
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2); /* 1st byte processed */
- assert (mbrtowc (NULL, "", 1, &s) == (size_t) -1); /* invalid terminator */
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2); /* 1st byte processed */
- assert (mbrtowc (&wc, "\x89", 1, &s) == (size_t) -2); /* 2nd byte processed */
- assert (mbrtowc (NULL, "", 1, &s) == (size_t) -1); /* invalid terminator */
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2); /* 1st byte processed */
- assert (mbrtowc (&wc, "\x89", 1, &s) == (size_t) -2); /* 2nd byte processed */
- assert (mbrtowc (&wc, "\xA0", 1, &s) == 1); /* 3nd byte processed */
- assert (mbrtowc (NULL, "", 1, &s) == 0); /* valid terminator */
- assert (mbsinit (&s));
-
- return 0;
-}
-
-/* Test for NUL byte processing via NULL string. */
-static int
-utf8_test_3 (void)
-{
- wchar_t wc;
- mbstate_t s;
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (NULL, NULL, 0, &s) == 0); /* valid terminator */
- assert (mbsinit (&s));
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2); /* 1st byte processed */
- assert (mbrtowc (NULL, NULL, 0, &s) == (size_t) -1); /* invalid terminator */
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2); /* 1st byte processed */
- assert (mbrtowc (&wc, "\x89", 1, &s) == (size_t) -2); /* 2nd byte processed */
- assert (mbrtowc (NULL, NULL, 0, &s) == (size_t) -1); /* invalid terminator */
-
- wc = 42; /* arbitrary number */
- memset (&s, 0, sizeof (s)); /* get s into initial state */
- assert (mbrtowc (&wc, "\xE2", 1, &s) == (size_t) -2); /* 1st byte processed */
- assert (mbrtowc (&wc, "\x89", 1, &s) == (size_t) -2); /* 2nd byte processed */
- assert (mbrtowc (&wc, "\xA0", 1, &s) == 1); /* 3nd byte processed */
- assert (mbrtowc (NULL, NULL, 0, &s) == 0); /* valid terminator */
- assert (mbsinit (&s));
-
- return 0;
-}
-
-static int
-utf8_test (void)
-{
- const char *locale = "de_DE.UTF-8";
- int error = 0;
-
- if (!setlocale (LC_CTYPE, locale))
- {
- fprintf (stderr, "locale '%s' not available!\n", locale);
- exit (1);
- }
-
- error |= utf8_test_1 ();
- error |= utf8_test_2 ();
- error |= utf8_test_3 ();
-
- return error;
-}
-
-
-static int
-do_test (void)
-{
- int result = 0;
-
- /* Check mapping of ASCII range for some character sets which have
- ASCII as a subset. For those the wide char generated must have
- the same value. */
- setlocale (LC_ALL, "C");
- result |= check_ascii (setlocale (LC_ALL, NULL));
-
- setlocale (LC_ALL, "de_DE.UTF-8");
- result |= check_ascii (setlocale (LC_ALL, NULL));
- result |= utf8_test ();
-
- setlocale (LC_ALL, "ja_JP.EUC-JP");
- result |= check_ascii (setlocale (LC_ALL, NULL));
-
- return result;
-}
-
-
-static int
-check_ascii (const char *locname)
-{
- int c;
- int res = 0;
-
- printf ("Testing locale \"%s\":\n", locname);
-
- for (c = 0; c <= 127; ++c)
- {
- char buf[MB_CUR_MAX];
- wchar_t wc = 0xffffffff;
- mbstate_t s;
- size_t n, i;
-
- for (i = 0; i < MB_CUR_MAX; ++i)
- buf[i] = c + i;
-
- memset (&s, '\0', sizeof (s));
-
- n = mbrtowc (&wc, buf, MB_CUR_MAX, &s);
- if (n == (size_t) -1)
- {
- printf ("%s: '\\x%x': encoding error\n", locname, c);
- ++res;
- }
- else if (n == (size_t) -2)
- {
- printf ("%s: '\\x%x': incomplete character\n", locname, c);
- ++res;
- }
- else if (n == 0 && c != 0)
- {
- printf ("%s: '\\x%x': 0 returned\n", locname, c);
- ++res;
- }
- else if (n != 0 && c == 0)
- {
- printf ("%s: '\\x%x': not 0 returned\n", locname, c);
- ++res;
- }
- else if (c != 0 && n != 1)
- {
- printf ("%s: '\\x%x': not 1 returned\n", locname, c);
- ++res;
- }
- else if (wc != (wchar_t) c)
- {
- printf ("%s: '\\x%x': wc != L'\\x%x'\n", locname, c, c);
- ++res;
- }
- }
-
- printf (res == 1 ? "%d error\n" : "%d errors\n", res);
-
- return res != 0;
-}
-
-#define TEST_FUNCTION do_test ()
-#include "../test-skeleton.c"
diff --git a/wcsmbs/tst-mbrtowc2.c b/wcsmbs/tst-mbrtowc2.c
deleted file mode 100644
index 975043accd..0000000000
--- a/wcsmbs/tst-mbrtowc2.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Derived from the test case in http://sourceware.org/bugzilla/show_bug.cgi?id=714 */
-#include <locale.h>
-#include <stdio.h>
-#include <string.h>
-#include <wchar.h>
-
-
-static struct
-{
- const char *chp;
- size_t nchp;
- const char *loc;
-} tests[] =
-{
- { (const char[]) { 0x8F, 0xA2, 0xAF }, 3, "ja_JP.EUC-JP" },
- { (const char[]) { 0xD1, 0xA5 }, 2, "ja_JP.EUC-JP" },
- { (const char[]) { 0x8E, 0xA5 }, 2, "ja_JP.EUC-JP" },
- { (const char[]) { 0x8E, 0xA2, 0xA1, 0xA1 }, 4, "zh_TW.EUC-TW" },
- { (const char[]) { 0xA1, 0xA1 }, 2, "zh_TW.EUC-TW" },
- { (const char[]) { 0xE3, 0x80, 0x80 }, 3, "de_DE.UTF-8" },
- { (const char[]) { 0xC3, 0xA4 }, 2, "de_DE.UTF-8" }
-};
-#define ntests (sizeof (tests) / sizeof (tests[0]))
-
-
-static int t (const char *ch, size_t nch, const char *loc);
-
-static int
-do_test (void)
-{
- int r = 0;
- for (int i = 0; i < ntests; ++i)
- r |= t (tests[i].chp, tests[i].nchp, tests[i].loc);
- return r;
-}
-
-static int
-t (const char *ch, size_t nch, const char *loc)
-{
- int i;
- wchar_t wch;
- wchar_t wch2;
- mbstate_t mbs;
- int n = 0;
-
- setlocale (LC_ALL, loc);
-
- memset (&mbs, '\0', sizeof (mbstate_t));
- for (i = 0; i < nch; i++)
- {
- n = mbrtowc (&wch, ch + i, 1, &mbs);
- if (n >= 0)
- break;
- }
- printf ("n = %d, count = %d, wch = %08lX\n", n, i, (unsigned long int) wch);
-
- memset (&mbs, '\0', sizeof (mbstate_t));
- n = mbrtowc (&wch2, ch, nch, &mbs);
- printf ("n = %d, wch = %08lX\n", n, (unsigned long int) wch2);
-
- int ret = n != nch || i + 1 != nch || n != nch || wch != wch2;
- puts (ret ? "FAIL\n" : "OK\n");
- return ret;
-}
-
-#include <support/test-driver.c>
diff --git a/wcsmbs/tst-mbsrtowcs.c b/wcsmbs/tst-mbsrtowcs.c
deleted file mode 100644
index 91ce1166bb..0000000000
--- a/wcsmbs/tst-mbsrtowcs.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/* Test NUL handling of mbsrtowcs.
- Copyright (C) 2004-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdio.h>
-#include <string.h>
-#include <wchar.h>
-
-static int
-do_test (void)
-{
- const unsigned char buf[] = { 'a', 'b', '\0', 'c', 'd', '\0', 'e' };
- wchar_t out[sizeof (buf)];
- memset (out, '\xff', sizeof (out));
-
- mbstate_t state;
- memset (&state, '\0', sizeof (state));
-
- const char *in = (const char *) buf;
- size_t n = mbsrtowcs (out, &in, sizeof (out) / sizeof (wchar_t), &state);
-
- int result = 0;
- if (n != 2)
- {
- printf ("n = %zu, expected 2\n", n);
- result = 1;
- }
- if (in != NULL)
- {
- printf ("in = %p, expected NULL\n", in);
- result = 1;
- }
- if (out[0] != L'a')
- {
- printf ("out[0] = L'%lc', expected L'a'\n", (wint_t) out[0]);
- result = 1;
- }
- if (out[1] != L'b')
- {
- printf ("out[1] = L'%lc', expected L'b'\n", (wint_t) out[1]);
- result = 1;
- }
- if (out[2] != L'\0')
- {
- printf ("out[2] = L'%lc', expected L'\\0'\n", (wint_t) out[2]);
- result = 1;
- }
- return result;
-}
-
-#include <support/test-driver.c>
diff --git a/wcsmbs/tst-wchar-h.c b/wcsmbs/tst-wchar-h.c
deleted file mode 100644
index 047ba6c377..0000000000
--- a/wcsmbs/tst-wchar-h.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <stdlib.h>
-#include <wchar.h>
-
-static int
-do_test (void)
-{
- mbstate_t x;
- return sizeof (x) - sizeof (mbstate_t);
-}
-
-#include <support/test-driver.c>
diff --git a/wcsmbs/tst-wcpncpy.c b/wcsmbs/tst-wcpncpy.c
deleted file mode 100644
index 99b00a5cf6..0000000000
--- a/wcsmbs/tst-wcpncpy.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright (C) 2003-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 2003.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdio.h>
-#include <wchar.h>
-
-
-static int
-do_test (void)
-{
- int result = 0;
-
- const wchar_t src[] = L"0";
- wchar_t dest[21];
- wmemset (dest, L'\0', 10);
- wchar_t *endp = wcpncpy (dest, src, 2);
- if (wcscmp (dest, src) != 0)
- {
- result = 1;
- puts ("L\"0\" string test failed");
- }
- if (endp != dest + 1)
- {
- result = 1;
- puts ("return value of L\"0\" string call incorrect");
- }
-
- const wchar_t src2[] = L"abc";
- endp = wcpncpy (dest, src2, 2);
- if (endp != dest + 2)
- {
- result = 1;
- puts ("return value of limited call incorrect");
- }
-
- const wchar_t src3[] = L"";
- endp = wcpncpy (dest, src3, 2);
- if (endp != dest)
- {
- result = 1;
- puts ("return value of empty string call incorrect");
- }
-
- const wchar_t src4[] = L"abcdefghijklmnopqrstuvwxyz";
- endp = wcpncpy (dest, src4, 2);
- if (endp != dest + 2)
- {
- result = 1;
- puts ("return value of long string call incorrect");
- }
-
- const wchar_t src5[] = L"ab";
- endp = wcpncpy (dest, src5, 20);
- if (endp != dest + 2)
- {
- result = 1;
- puts ("return value of large limit call incorrect");
- }
-
- return result;
-}
-
-#include <support/test-driver.c>
diff --git a/wcsmbs/tst-wcrtomb.c b/wcsmbs/tst-wcrtomb.c
deleted file mode 100644
index a506fe7e75..0000000000
--- a/wcsmbs/tst-wcrtomb.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright (C) 2000-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@redhat.com>, 2000.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <locale.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wchar.h>
-
-
-static int check_ascii (const char *locname);
-
-
-static int
-do_test (void)
-{
- int result = 0;
-
- /* Check mapping of ASCII range for some character sets which have
- ASCII as a subset. For those the wide char generated must have
- the same value. */
- setlocale (LC_ALL, "C");
- result |= check_ascii (setlocale (LC_ALL, NULL));
-
- setlocale (LC_ALL, "de_DE.UTF-8");
- result |= check_ascii (setlocale (LC_ALL, NULL));
-
- setlocale (LC_ALL, "ja_JP.EUC-JP");
- result |= check_ascii (setlocale (LC_ALL, NULL));
-
- return result;
-}
-
-
-static int
-check_ascii (const char *locname)
-{
- wchar_t wc;
- int res = 0;
-
- printf ("Testing locale \"%s\":\n", locname);
-
- for (wc = 0; wc <= 127; ++wc)
- {
- char buf[2 * MB_CUR_MAX];
- mbstate_t s;
- size_t n;
-
- memset (buf, '\xff', sizeof (buf));
- memset (&s, '\0', sizeof (s));
-
- n = wcrtomb (buf, wc, &s);
- if (n == (size_t) -1)
- {
- printf ("%s: '\\x%x': encoding error\n", locname, (int) wc);
- ++res;
- }
- else if (n == 0)
- {
- printf ("%s: '\\x%x': 0 returned\n", locname, (int) wc);
- ++res;
- }
- else if (n != 1)
- {
- printf ("%s: '\\x%x': not 1 returned\n", locname, (int) wc);
- ++res;
- }
- else if (wc != (wchar_t) buf[0])
- {
- printf ("%s: L'\\x%x': buf[0] != '\\x%x'\n", locname, (int) wc,
- (int) wc);
- ++res;
- }
- }
-
- printf (res == 1 ? "%d error\n" : "%d errors\n", res);
-
- return res != 0;
-}
-
-#include <support/test-driver.c>
diff --git a/wcsmbs/tst-wcsnlen.c b/wcsmbs/tst-wcsnlen.c
deleted file mode 100644
index 89b5212006..0000000000
--- a/wcsmbs/tst-wcsnlen.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stdio.h>
-#include <wchar.h>
-
-#define TEST(Str, Max, Exp) \
- n = wcsnlen (L##Str, Max); \
- if (n != Exp) \
- { \
- result = 1; \
- printf ("wcsnlen (L\"%s\", %d) = %d, not %d\n", Str, Max, n, Exp); \
- }
-
-static int
-do_test (void)
-{
- int result = 0;
- int n;
-
- TEST ("0123456789", 0, 0);
- TEST ("0123456789", 1, 1);
- TEST ("0123456789", 2, 2);
- TEST ("0123456789", 3, 3);
- TEST ("0123456789", 4, 4);
- TEST ("0123456789", 5, 5);
- TEST ("0123456789", 6, 6);
- TEST ("0123456789", 7, 7);
- TEST ("0123456789", 8, 8);
- TEST ("0123456789", 9, 9);
-
- TEST ("01234", 9, 5);
-
- return result;
-}
-
-#include <support/test-driver.c>
diff --git a/wcsmbs/tst-wcstod-nan-locale.c b/wcsmbs/tst-wcstod-nan-locale.c
deleted file mode 100644
index 5e623f3046..0000000000
--- a/wcsmbs/tst-wcstod-nan-locale.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Test strtod functions work with all ASCII letters in NAN(...) in
- Turkish locales (bug 19266). Wide string version.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define CHAR wchar_t
-#define SFMT "L\"%ls\""
-#define FNPFX wcsto
-#define L_(C) L ## C
-
-#include "../stdlib/tst-strtod-nan-locale-main.c"
diff --git a/wcsmbs/tst-wcstod-round.c b/wcsmbs/tst-wcstod-round.c
deleted file mode 100644
index 04499721f6..0000000000
--- a/wcsmbs/tst-wcstod-round.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* wide character shim for tst-strtod-round-skeleton.c.
- Copyright (C) 2016-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-/* Include stdio.h early to avoid issues with the snprintf
- redefinition below. */
-#include <stdio.h>
-
-#define L_(str) L ## str
-#define FNPFX wcs
-#define CHAR wchar_t
-#define STRM "%ls"
-#define snprintf swprintf
-
-#include <stdlib/tst-strtod-round-skeleton.c>
diff --git a/wcsmbs/tst-wcstof.c b/wcsmbs/tst-wcstof.c
deleted file mode 100644
index 5b7cdeacd8..0000000000
--- a/wcsmbs/tst-wcstof.c
+++ /dev/null
@@ -1,33 +0,0 @@
-#define _GNU_SOURCE 1
-#include <wchar.h>
-#include <stdio.h>
-#include <string.h>
-#include <wctype.h>
-#include <libc-diag.h>
-
-static int
-do_test (void)
-{
- int result = 0;
- char buf[100];
- wchar_t tmp[3];
- tmp[0] = '8';
- tmp[1] = '1';
- tmp[2] = 0;
-
- /* GCC does not know the result of wcstof so cannot see that the
- snprintf output is not truncated. */
- DIAG_PUSH_NEEDS_COMMENT;
-#if __GNUC_PREREQ (7, 0)
- DIAG_IGNORE_NEEDS_COMMENT (7.0, "-Wformat-truncation");
-#endif
- snprintf (buf, 100, "%S = %f", tmp, wcstof (tmp, NULL));
- DIAG_POP_NEEDS_COMMENT;
- printf ("\"%s\" -> %s\n", buf,
- strcmp (buf, "81 = 81.000000") == 0 ? "okay" : "buggy");
- result |= strcmp (buf, "81 = 81.000000") != 0;
-
- return result;
-}
-
-#include <support/test-driver.c>
diff --git a/wcsmbs/tst-wcstol-locale.c b/wcsmbs/tst-wcstol-locale.c
deleted file mode 100644
index 946c1d036f..0000000000
--- a/wcsmbs/tst-wcstol-locale.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/* Test strtol functions work with all ASCII letters in Turkish
- locales (bug 19242). Wide string version.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define CHAR wchar_t
-#define SFMT "L\"%ls\""
-#define FNPFX wcsto
-#define L_(C) L ## C
-
-#include "../stdlib/tst-strtol-locale-main.c"
diff --git a/wcsmbs/uchar.h b/wcsmbs/uchar.h
deleted file mode 100644
index f937519cf4..0000000000
--- a/wcsmbs/uchar.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright (C) 2011-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-/*
- * ISO C11 Standard: 7.28
- * Unicode utilities <uchar.h>
- */
-
-#ifndef _UCHAR_H
-#define _UCHAR_H 1
-
-#include <features.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-#include <bits/types/mbstate_t.h>
-
-#if defined __GNUC__ && !defined __USE_ISOCXX11
-/* Define the 16-bit and 32-bit character types. Use the information
- provided by the compiler. */
-# if !defined __CHAR16_TYPE__ || !defined __CHAR32_TYPE__
-# if defined __STDC_VERSION__ && __STDC_VERSION__ < 201000L
-# error "<uchar.h> requires ISO C11 mode"
-# else
-# error "definitions of __CHAR16_TYPE__ and/or __CHAR32_TYPE__ missing"
-# endif
-# endif
-typedef __CHAR16_TYPE__ char16_t;
-typedef __CHAR32_TYPE__ char32_t;
-#endif
-
-
-__BEGIN_DECLS
-
-/* Write char16_t representation of multibyte character pointed
- to by S to PC16. */
-extern size_t mbrtoc16 (char16_t *__restrict __pc16,
- const char *__restrict __s, size_t __n,
- mbstate_t *__restrict __p) __THROW;
-
-/* Write multibyte representation of char16_t C16 to S. */
-extern size_t c16rtomb (char *__restrict __s, char16_t __c16,
- mbstate_t *__restrict __ps) __THROW;
-
-
-
-/* Write char32_t representation of multibyte character pointed
- to by S to PC32. */
-extern size_t mbrtoc32 (char32_t *__restrict __pc32,
- const char *__restrict __s, size_t __n,
- mbstate_t *__restrict __p) __THROW;
-
-/* Write multibyte representation of char32_t C32 to S. */
-extern size_t c32rtomb (char *__restrict __s, char32_t __c32,
- mbstate_t *__restrict __ps) __THROW;
-
-__END_DECLS
-
-#endif /* uchar.h */
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
deleted file mode 100644
index d389428daa..0000000000
--- a/wcsmbs/wchar.h
+++ /dev/null
@@ -1,792 +0,0 @@
-/* Copyright (C) 1995-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-/*
- * ISO C99 Standard: 7.24
- * Extended multibyte and wide character utilities <wchar.h>
- */
-
-#ifndef _WCHAR_H
-#define _WCHAR_H 1
-
-#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
-#include <bits/libc-header-start.h>
-
-#define __need_size_t
-#define __need_wchar_t
-#define __need_NULL
-#include <stddef.h>
-
-#define __need___va_list
-#include <stdarg.h>
-
-#include <bits/wchar.h>
-#include <bits/types/wint_t.h>
-#include <bits/types/mbstate_t.h>
-#include <bits/types/__FILE.h>
-
-#if defined __USE_UNIX98 || defined __USE_XOPEN2K
-# include <bits/types/FILE.h>
-#endif
-
-/* Tell the caller that we provide correct C++ prototypes. */
-#if defined __cplusplus && __GNUC_PREREQ (4, 4)
-# define __CORRECT_ISO_CPP_WCHAR_H_PROTO
-#endif
-
-#ifndef WCHAR_MIN
-/* These constants might also be defined in <inttypes.h>. */
-# define WCHAR_MIN __WCHAR_MIN
-# define WCHAR_MAX __WCHAR_MAX
-#endif
-
-#ifndef WEOF
-# define WEOF (0xffffffffu)
-#endif
-
-/* All versions of XPG prior to the publication of ISO C99 required
- the bulk of <wctype.h>'s declarations to appear in this header
- (because <wctype.h> did not exist prior to C99). In POSIX.1-2001
- those declarations were marked as XSI extensions; in -2008 they
- were additionally marked as obsolescent. _GNU_SOURCE mode
- anticipates the removal of these declarations in the next revision
- of POSIX. */
-#if (defined __USE_XOPEN && !defined __USE_GNU \
- && !(defined __USE_XOPEN2K && !defined __USE_XOPEN2KXSI))
-# include <bits/wctype-wchar.h>
-#endif
-
-__BEGIN_DECLS
-
-/* This incomplete type is defined in <time.h> but needed here because
- of `wcsftime'. */
-struct tm;
-
-
-/* Copy SRC to DEST. */
-extern wchar_t *wcscpy (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src)
- __THROW __nonnull ((1, 2));
-
-/* Copy no more than N wide-characters of SRC to DEST. */
-extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src, size_t __n)
- __THROW __nonnull ((1, 2));
-
-/* Append SRC onto DEST. */
-extern wchar_t *wcscat (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src)
- __THROW __nonnull ((1, 2));
-/* Append no more than N wide-characters of SRC onto DEST. */
-extern wchar_t *wcsncat (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src, size_t __n)
- __THROW __nonnull ((1, 2));
-
-/* Compare S1 and S2. */
-extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
- __THROW __attribute_pure__ __nonnull ((1, 2));
-/* Compare N wide-characters of S1 and S2. */
-extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
- __THROW __attribute_pure__ __nonnull ((1, 2));
-
-#ifdef __USE_XOPEN2K8
-/* Compare S1 and S2, ignoring case. */
-extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) __THROW;
-
-/* Compare no more than N chars of S1 and S2, ignoring case. */
-extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
- size_t __n) __THROW;
-
-/* 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 (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;
-#endif
-
-/* Compare S1 and S2, both interpreted as appropriate to the
- LC_COLLATE category of the current locale. */
-extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) __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 (wchar_t *__restrict __s1,
- const wchar_t *__restrict __s2, size_t __n) __THROW;
-
-#ifdef __USE_XOPEN2K8
-/* Similar to the two functions above but take the information from
- the provided locale and not the global locale. */
-
-/* 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;
-
-/* 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;
-
-/* Duplicate S, returning an identical malloc'd string. */
-extern wchar_t *wcsdup (const wchar_t *__s) __THROW __attribute_malloc__;
-#endif
-
-/* Find the first occurrence of WC in WCS. */
-#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
-extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
- __THROW __asm ("wcschr") __attribute_pure__;
-extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
- __THROW __asm ("wcschr") __attribute_pure__;
-#else
-extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
- __THROW __attribute_pure__;
-#endif
-/* Find the last occurrence of WC in WCS. */
-#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
-extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
- __THROW __asm ("wcsrchr") __attribute_pure__;
-extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
- __THROW __asm ("wcsrchr") __attribute_pure__;
-#else
-extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
- __THROW __attribute_pure__;
-#endif
-
-#ifdef __USE_GNU
-/* This function is similar to `wcschr'. But it returns a pointer to
- the closing NUL wide character in case C is not found in S. */
-extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
- __THROW __attribute_pure__;
-#endif
-
-/* Return the length of the initial segmet of WCS which
- consists entirely of wide characters not in REJECT. */
-extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
- __THROW __attribute_pure__;
-/* Return the length of the initial segmet of WCS which
- consists entirely of wide characters in ACCEPT. */
-extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
- __THROW __attribute_pure__;
-/* Find the first occurrence in WCS of any character in ACCEPT. */
-#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
-extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
- __THROW __asm ("wcspbrk") __attribute_pure__;
-extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
- const wchar_t *__accept)
- __THROW __asm ("wcspbrk") __attribute_pure__;
-#else
-extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept)
- __THROW __attribute_pure__;
-#endif
-/* Find the first occurrence of NEEDLE in HAYSTACK. */
-#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
-extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
- __THROW __asm ("wcsstr") __attribute_pure__;
-extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
- const wchar_t *__needle)
- __THROW __asm ("wcsstr") __attribute_pure__;
-#else
-extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle)
- __THROW __attribute_pure__;
-#endif
-
-/* Divide WCS into tokens separated by characters in DELIM. */
-extern wchar_t *wcstok (wchar_t *__restrict __s,
- const wchar_t *__restrict __delim,
- wchar_t **__restrict __ptr) __THROW;
-
-/* Return the number of wide characters in S. */
-extern size_t wcslen (const wchar_t *__s) __THROW __attribute_pure__;
-
-#ifdef __USE_XOPEN
-/* Another name for `wcsstr' from XPG4. */
-# ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
-extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
- __THROW __asm ("wcswcs") __attribute_pure__;
-extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
- const wchar_t *__needle)
- __THROW __asm ("wcswcs") __attribute_pure__;
-# else
-extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle)
- __THROW __attribute_pure__;
-# endif
-#endif
-
-#ifdef __USE_XOPEN2K8
-/* Return the number of wide characters in S, but at most MAXLEN. */
-extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
- __THROW __attribute_pure__;
-#endif
-
-
-/* Search N wide characters of S for C. */
-#ifdef __CORRECT_ISO_CPP_WCHAR_H_PROTO
-extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
- __THROW __asm ("wmemchr") __attribute_pure__;
-extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
- size_t __n)
- __THROW __asm ("wmemchr") __attribute_pure__;
-#else
-extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n)
- __THROW __attribute_pure__;
-#endif
-
-/* Compare N wide characters of S1 and S2. */
-extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
- __THROW __attribute_pure__;
-
-/* Copy N wide characters of SRC to DEST. */
-extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
- const wchar_t *__restrict __s2, size_t __n) __THROW;
-
-/* Copy N wide characters of SRC to DEST, guaranteeing
- correct behavior for overlapping strings. */
-extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
- __THROW;
-
-/* Set N wide characters of S to C. */
-extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) __THROW;
-
-#ifdef __USE_GNU
-/* Copy N wide characters of SRC to DEST and return pointer to following
- wide character. */
-extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
- const wchar_t *__restrict __s2, size_t __n)
- __THROW;
-#endif
-
-
-/* Determine whether C constitutes a valid (one-byte) multibyte
- character. */
-extern wint_t btowc (int __c) __THROW;
-
-/* Determine whether C corresponds to a member of the extended
- character set whose multibyte representation is a single byte. */
-extern int wctob (wint_t __c) __THROW;
-
-/* Determine whether PS points to an object representing the initial
- state. */
-extern int mbsinit (const mbstate_t *__ps) __THROW __attribute_pure__;
-
-/* Write wide character representation of multibyte character pointed
- to by S to PWC. */
-extern size_t mbrtowc (wchar_t *__restrict __pwc,
- const char *__restrict __s, size_t __n,
- mbstate_t *__restrict __p) __THROW;
-
-/* Write multibyte representation of wide character WC to S. */
-extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
- mbstate_t *__restrict __ps) __THROW;
-
-/* Return number of bytes in multibyte character pointed to by S. */
-extern size_t __mbrlen (const char *__restrict __s, size_t __n,
- mbstate_t *__restrict __ps) __THROW;
-extern size_t mbrlen (const char *__restrict __s, size_t __n,
- mbstate_t *__restrict __ps) __THROW;
-
-#ifdef __USE_EXTERN_INLINES
-/* Define inline function as optimization. */
-
-/* We can use the BTOWC and WCTOB optimizations since we know that all
- locales must use ASCII encoding for the values in the ASCII range
- and because the wchar_t encoding is always ISO 10646. */
-extern wint_t __btowc_alias (int __c) __asm ("btowc");
-__extern_inline wint_t
-__NTH (btowc (int __c))
-{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
- ? (wint_t) __c : __btowc_alias (__c)); }
-
-extern int __wctob_alias (wint_t __c) __asm ("wctob");
-__extern_inline int
-__NTH (wctob (wint_t __wc))
-{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
- ? (int) __wc : __wctob_alias (__wc)); }
-
-__extern_inline size_t
-__NTH (mbrlen (const char *__restrict __s, size_t __n,
- mbstate_t *__restrict __ps))
-{ return (__ps != NULL
- ? mbrtowc (NULL, __s, __n, __ps) : __mbrlen (__s, __n, NULL)); }
-#endif
-
-/* Write wide character representation of multibyte character string
- SRC to DST. */
-extern size_t mbsrtowcs (wchar_t *__restrict __dst,
- const char **__restrict __src, size_t __len,
- mbstate_t *__restrict __ps) __THROW;
-
-/* Write multibyte character representation of wide character string
- SRC to DST. */
-extern size_t wcsrtombs (char *__restrict __dst,
- const wchar_t **__restrict __src, size_t __len,
- mbstate_t *__restrict __ps) __THROW;
-
-
-#ifdef __USE_XOPEN2K8
-/* Write wide character representation of at most NMC bytes of the
- multibyte character string SRC to DST. */
-extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
- const char **__restrict __src, size_t __nmc,
- size_t __len, mbstate_t *__restrict __ps) __THROW;
-
-/* Write multibyte character representation of at most NWC characters
- from the wide character string SRC to DST. */
-extern size_t wcsnrtombs (char *__restrict __dst,
- const wchar_t **__restrict __src,
- size_t __nwc, size_t __len,
- mbstate_t *__restrict __ps) __THROW;
-#endif /* use POSIX 2008 */
-
-
-/* The following functions are extensions found in X/Open CAE. */
-#ifdef __USE_XOPEN
-/* Determine number of column positions required for C. */
-extern int wcwidth (wchar_t __c) __THROW;
-
-/* Determine number of column positions required for first N wide
- characters (or fewer if S ends before this) in S. */
-extern int wcswidth (const wchar_t *__s, size_t __n) __THROW;
-#endif /* Use X/Open. */
-
-
-/* Convert initial portion of the wide string NPTR to `double'
- representation. */
-extern double wcstod (const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr) __THROW;
-
-#ifdef __USE_ISOC99
-/* Likewise for `float' and `long double' sizes of floating-point numbers. */
-extern float wcstof (const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr) __THROW;
-extern long double wcstold (const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr) __THROW;
-#endif /* C99 */
-
-
-/* Convert initial portion of wide string NPTR to `long int'
- representation. */
-extern long int wcstol (const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr, int __base) __THROW;
-
-/* Convert initial portion of wide string NPTR to `unsigned long int'
- representation. */
-extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr, int __base)
- __THROW;
-
-#ifdef __USE_ISOC99
-/* Convert initial portion of wide string NPTR to `long long int'
- representation. */
-__extension__
-extern long long int wcstoll (const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr, int __base)
- __THROW;
-
-/* Convert initial portion of wide string NPTR to `unsigned long long int'
- representation. */
-__extension__
-extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr,
- int __base) __THROW;
-#endif /* ISO C99. */
-
-#ifdef __USE_GNU
-/* Convert initial portion of wide string NPTR to `long long int'
- representation. */
-__extension__
-extern long long int wcstoq (const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr, int __base)
- __THROW;
-
-/* Convert initial portion of wide string NPTR to `unsigned long long int'
- representation. */
-__extension__
-extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
- wchar_t **__restrict __endptr,
- int __base) __THROW;
-#endif /* Use 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 (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 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 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;
-#endif /* use GNU */
-
-
-#ifdef __USE_XOPEN2K8
-/* Copy SRC to DEST, returning the address of the terminating L'\0' in
- DEST. */
-extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src) __THROW;
-
-/* Copy no more than N characters of SRC to DEST, returning the address of
- the last character written into DEST. */
-extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
- const wchar_t *__restrict __src, size_t __n)
- __THROW;
-#endif
-
-
-/* Wide character I/O functions. */
-
-#if defined __USE_XOPEN2K8 || __GLIBC_USE (LIB_EXT2)
-/* Like OPEN_MEMSTREAM, but the stream is wide oriented and produces
- a wide character string. */
-extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) __THROW;
-#endif
-
-#if defined __USE_ISOC95 || defined __USE_UNIX98
-
-/* Select orientation for stream. */
-extern int fwide (__FILE *__fp, int __mode) __THROW;
-
-
-/* Write formatted output to STREAM.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int fwprintf (__FILE *__restrict __stream,
- const wchar_t *__restrict __format, ...)
- /* __attribute__ ((__format__ (__wprintf__, 2, 3))) */;
-/* Write formatted output to stdout.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int wprintf (const wchar_t *__restrict __format, ...)
- /* __attribute__ ((__format__ (__wprintf__, 1, 2))) */;
-/* Write formatted output of at most N characters to S. */
-extern int swprintf (wchar_t *__restrict __s, size_t __n,
- const wchar_t *__restrict __format, ...)
- __THROW /* __attribute__ ((__format__ (__wprintf__, 3, 4))) */;
-
-/* Write formatted output to S from argument list ARG.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int vfwprintf (__FILE *__restrict __s,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg)
- /* __attribute__ ((__format__ (__wprintf__, 2, 0))) */;
-/* Write formatted output to stdout from argument list ARG.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int vwprintf (const wchar_t *__restrict __format,
- __gnuc_va_list __arg)
- /* __attribute__ ((__format__ (__wprintf__, 1, 0))) */;
-/* Write formatted output of at most N character to S from argument
- list ARG. */
-extern int vswprintf (wchar_t *__restrict __s, size_t __n,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg)
- __THROW /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
-
-
-/* Read formatted input from STREAM.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int fwscanf (__FILE *__restrict __stream,
- const wchar_t *__restrict __format, ...)
- /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
-/* Read formatted input from stdin.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int wscanf (const wchar_t *__restrict __format, ...)
- /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */;
-/* Read formatted input from S. */
-extern int swscanf (const wchar_t *__restrict __s,
- const wchar_t *__restrict __format, ...)
- __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
-
-# if defined __USE_ISOC99 && !defined __USE_GNU \
- && (!defined __LDBL_COMPAT || !defined __REDIRECT) \
- && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
-# ifdef __REDIRECT
-/* For strict ISO C99 or POSIX compliance disallow %as, %aS and %a[
- GNU extension which conflicts with valid %a followed by letter
- s, S or [. */
-extern int __REDIRECT (fwscanf, (__FILE *__restrict __stream,
- const wchar_t *__restrict __format, ...),
- __isoc99_fwscanf)
- /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
-extern int __REDIRECT (wscanf, (const wchar_t *__restrict __format, ...),
- __isoc99_wscanf)
- /* __attribute__ ((__format__ (__wscanf__, 1, 2))) */;
-extern int __REDIRECT_NTH (swscanf, (const wchar_t *__restrict __s,
- const wchar_t *__restrict __format,
- ...), __isoc99_swscanf)
- /* __attribute__ ((__format__ (__wscanf__, 2, 3))) */;
-# else
-extern int __isoc99_fwscanf (__FILE *__restrict __stream,
- const wchar_t *__restrict __format, ...);
-extern int __isoc99_wscanf (const wchar_t *__restrict __format, ...);
-extern int __isoc99_swscanf (const wchar_t *__restrict __s,
- const wchar_t *__restrict __format, ...)
- __THROW;
-# define fwscanf __isoc99_fwscanf
-# define wscanf __isoc99_wscanf
-# define swscanf __isoc99_swscanf
-# endif
-# endif
-
-#endif /* Use ISO C95, C99 and Unix98. */
-
-#ifdef __USE_ISOC99
-/* Read formatted input from S into argument list ARG.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int vfwscanf (__FILE *__restrict __s,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg)
- /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
-/* Read formatted input from stdin into argument list ARG.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int vwscanf (const wchar_t *__restrict __format,
- __gnuc_va_list __arg)
- /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */;
-/* Read formatted input from S into argument list ARG. */
-extern int vswscanf (const wchar_t *__restrict __s,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg)
- __THROW /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
-
-# if !defined __USE_GNU \
- && (!defined __LDBL_COMPAT || !defined __REDIRECT) \
- && (defined __STRICT_ANSI__ || defined __USE_XOPEN2K)
-# ifdef __REDIRECT
-extern int __REDIRECT (vfwscanf, (__FILE *__restrict __s,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg), __isoc99_vfwscanf)
- /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
-extern int __REDIRECT (vwscanf, (const wchar_t *__restrict __format,
- __gnuc_va_list __arg), __isoc99_vwscanf)
- /* __attribute__ ((__format__ (__wscanf__, 1, 0))) */;
-extern int __REDIRECT_NTH (vswscanf, (const wchar_t *__restrict __s,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg), __isoc99_vswscanf)
- /* __attribute__ ((__format__ (__wscanf__, 2, 0))) */;
-# else
-extern int __isoc99_vfwscanf (__FILE *__restrict __s,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg);
-extern int __isoc99_vwscanf (const wchar_t *__restrict __format,
- __gnuc_va_list __arg);
-extern int __isoc99_vswscanf (const wchar_t *__restrict __s,
- const wchar_t *__restrict __format,
- __gnuc_va_list __arg) __THROW;
-# define vfwscanf __isoc99_vfwscanf
-# define vwscanf __isoc99_vwscanf
-# define vswscanf __isoc99_vswscanf
-# endif
-# endif
-
-#endif /* Use ISO C99. */
-
-
-/* Read a character from STREAM.
-
- These functions are possible cancellation points and therefore not
- marked with __THROW. */
-extern wint_t fgetwc (__FILE *__stream);
-extern wint_t getwc (__FILE *__stream);
-
-/* Read a character from stdin.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern wint_t getwchar (void);
-
-
-/* Write a character to STREAM.
-
- These functions are possible cancellation points and therefore not
- marked with __THROW. */
-extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
-extern wint_t putwc (wchar_t __wc, __FILE *__stream);
-
-/* Write a character to stdout.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern wint_t putwchar (wchar_t __wc);
-
-
-/* Get a newline-terminated wide character string of finite length
- from STREAM.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
- __FILE *__restrict __stream);
-
-/* Write a string to STREAM.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern int fputws (const wchar_t *__restrict __ws,
- __FILE *__restrict __stream);
-
-
-/* Push a character back onto the input buffer of STREAM.
-
- This function is a possible cancellation point and therefore not
- marked with __THROW. */
-extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
-
-
-#ifdef __USE_GNU
-/* These are defined to be equivalent to the `char' functions defined
- in POSIX.1:1996.
-
- These functions are not part of POSIX and therefore no official
- cancellation point. But due to similarity with an POSIX interface
- or due to the implementation they are cancellation points and
- therefore not marked with __THROW. */
-extern wint_t getwc_unlocked (__FILE *__stream);
-extern wint_t getwchar_unlocked (void);
-
-/* This is the wide character version of a GNU extension.
-
- This function is not part of POSIX and therefore no official
- cancellation point. But due to similarity with an POSIX interface
- or due to the implementation it is a cancellation point and
- therefore not marked with __THROW. */
-extern wint_t fgetwc_unlocked (__FILE *__stream);
-
-/* Faster version when locking is not necessary.
-
- This function is not part of POSIX and therefore no official
- cancellation point. But due to similarity with an POSIX interface
- or due to the implementation it is a cancellation point and
- therefore not marked with __THROW. */
-extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
-
-/* These are defined to be equivalent to the `char' functions defined
- in POSIX.1:1996.
-
- These functions are not part of POSIX and therefore no official
- cancellation point. But due to similarity with an POSIX interface
- or due to the implementation they are cancellation points and
- therefore not marked with __THROW. */
-extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
-extern wint_t putwchar_unlocked (wchar_t __wc);
-
-
-/* This function does the same as `fgetws' but does not lock the stream.
-
- This function is not part of POSIX and therefore no official
- cancellation point. But due to similarity with an POSIX interface
- or due to the implementation it is a cancellation point and
- therefore not marked with __THROW. */
-extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
- __FILE *__restrict __stream);
-
-/* This function does the same as `fputws' but does not lock the stream.
-
- This function is not part of POSIX and therefore no official
- cancellation point. But due to similarity with an POSIX interface
- or due to the implementation it is a cancellation point and
- therefore not marked with __THROW. */
-extern int fputws_unlocked (const wchar_t *__restrict __ws,
- __FILE *__restrict __stream);
-#endif
-
-
-/* Format TP into S according to FORMAT.
- Write no more than MAXSIZE wide characters and return the number
- of wide characters written, or 0 if it would exceed MAXSIZE. */
-extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
- const wchar_t *__restrict __format,
- const struct tm *__restrict __tp) __THROW;
-
-# ifdef __USE_GNU
-# include <xlocale.h>
-
-/* Similar to `wcsftime' but takes the information from
- the provided locale and not the global locale. */
-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;
-# endif
-
-/* Define some macros helping to catch buffer overflows. */
-#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function
-# include <bits/wchar2.h>
-#endif
-
-#ifdef __LDBL_COMPAT
-# include <bits/wchar-ldbl.h>
-#endif
-
-__END_DECLS
-
-#endif /* wchar.h */
diff --git a/wcsmbs/wcpcpy.c b/wcsmbs/wcpcpy.c
deleted file mode 100644
index a370c57be2..0000000000
--- a/wcsmbs/wcpcpy.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#define __need_ptrdiff_t
-#include <stddef.h>
-
-#ifdef WCPCPY
-# define __wcpcpy WCPCPY
-#endif
-/* Copy SRC to DEST, returning the address of the terminating L'\0' in
- DEST. */
-wchar_t *
-__wcpcpy (wchar_t *dest, const wchar_t *src)
-{
- wchar_t *wcp = (wchar_t *) dest - 1;
- wint_t c;
- const ptrdiff_t off = src - dest + 1;
-
- do
- {
- c = wcp[off];
- *++wcp = c;
- }
- while (c != L'\0');
-
- return wcp;
-}
-
-#ifndef WCPCPY
-weak_alias (__wcpcpy, wcpcpy)
-#endif
diff --git a/wcsmbs/wcpncpy.c b/wcsmbs/wcpncpy.c
deleted file mode 100644
index 42c17eadd0..0000000000
--- a/wcsmbs/wcpncpy.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WCPNCPY
-# define __wcpncpy WCPNCPY
-#endif
-
-/* Copy no more than N wide-characters of SRC to DEST, returning the
- address of the last character written into DEST. */
-wchar_t *
-__wcpncpy (wchar_t *dest, const wchar_t *src, size_t n)
-{
- wint_t c;
- wchar_t *const s = dest;
-
- if (n >= 4)
- {
- size_t n4 = n >> 2;
-
- for (;;)
- {
- c = *src++;
- *dest++ = c;
- if (c == L'\0')
- break;
- c = *src++;
- *dest++ = c;
- if (c == L'\0')
- break;
- c = *src++;
- *dest++ = c;
- if (c == L'\0')
- break;
- c = *src++;
- *dest++ = c;
- if (c == L'\0')
- break;
- if (--n4 == 0)
- goto last_chars;
- }
- n -= dest - s;
- goto zero_fill;
- }
-
- last_chars:
- n &= 3;
- if (n == 0)
- return dest;
-
- for (;;)
- {
- c = *src++;
- --n;
- *dest++ = c;
- if (c == L'\0')
- break;
- if (n == 0)
- return dest;
- }
-
- zero_fill:
- while (n-- > 0)
- dest[n] = L'\0';
-
- return dest - 1;
-}
-
-#ifndef WCPNCPY
-weak_alias (__wcpncpy, wcpncpy)
-#endif
diff --git a/wcsmbs/wcrtomb.c b/wcsmbs/wcrtomb.c
deleted file mode 100644
index cc74503374..0000000000
--- a/wcsmbs/wcrtomb.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <dlfcn.h>
-#include <errno.h>
-#include <gconv.h>
-#include <stdlib.h>
-#include <wchar.h>
-#include <wcsmbsload.h>
-
-#include <sysdep.h>
-
-#ifndef EILSEQ
-# define EILSEQ EINVAL
-#endif
-
-
-/* This is the private state used if PS is NULL. */
-static mbstate_t state;
-
-size_t
-__wcrtomb (char *s, wchar_t wc, mbstate_t *ps)
-{
- char buf[MB_LEN_MAX];
- struct __gconv_step_data data;
- int status;
- size_t result;
- size_t dummy;
- const struct gconv_fcts *fcts;
-
- /* Set information for this step. */
- data.__invocation_counter = 0;
- data.__internal_use = 1;
- data.__flags = __GCONV_IS_LAST;
- data.__statep = ps ?: &state;
-
- /* A first special case is if S is NULL. This means put PS in the
- initial state. */
- if (s == NULL)
- {
- s = buf;
- wc = L'\0';
- }
-
- /* Tell where we want to have the result. */
- data.__outbuf = (unsigned char *) s;
- data.__outbufend = (unsigned char *) s + MB_CUR_MAX;
-
- /* Get the conversion functions. */
- fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
- __gconv_fct fct = fcts->tomb->__fct;
-#ifdef PTR_DEMANGLE
- if (fcts->tomb->__shlib_handle != NULL)
- PTR_DEMANGLE (fct);
-#endif
-
- /* If WC is the NUL character we write into the output buffer the byte
- sequence necessary for PS to get into the initial state, followed
- by a NUL byte. */
- if (wc == L'\0')
- {
- status = DL_CALL_FCT (fct, (fcts->tomb, &data, NULL, NULL,
- NULL, &dummy, 1, 1));
-
- if (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
- *data.__outbuf++ = '\0';
- }
- else
- {
- /* Do a normal conversion. */
- const unsigned char *inbuf = (const unsigned char *) &wc;
-
- status = DL_CALL_FCT (fct,
- (fcts->tomb, &data, &inbuf,
- inbuf + sizeof (wchar_t), NULL, &dummy, 0, 1));
- }
-
- /* There must not be any problems with the conversion but illegal input
- characters. The output buffer must be large enough, otherwise the
- definition of MB_CUR_MAX is not correct. All the other possible
- errors also must not happen. */
- assert (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_ILLEGAL_INPUT
- || status == __GCONV_INCOMPLETE_INPUT
- || status == __GCONV_FULL_OUTPUT);
-
- if (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_FULL_OUTPUT)
- result = data.__outbuf - (unsigned char *) s;
- else
- {
- result = (size_t) -1;
- __set_errno (EILSEQ);
- }
-
- return result;
-}
-weak_alias (__wcrtomb, wcrtomb)
-libc_hidden_weak (wcrtomb)
-
-/* There should be no difference between the UTF-32 handling required
- by c32rtomb and the wchar_t handling which has long since been
- implemented in wcrtomb. */
-weak_alias (__wcrtomb, c32rtomb)
diff --git a/wcsmbs/wcsatcliff.c b/wcsmbs/wcsatcliff.c
deleted file mode 100644
index 95afff6098..0000000000
--- a/wcsmbs/wcsatcliff.c
+++ /dev/null
@@ -1,23 +0,0 @@
-#include <wchar.h>
-
-#define WCSTEST 1
-#define L(c) L##c
-#define CHAR wchar_t
-#define MEMSET wmemset
-#define STRLEN wcslen
-#define STRNLEN wcsnlen
-#define STRCHR wcschr
-#define STRRCHR wcsrchr
-#define STRCPY wcscpy
-#define STRNCPY wcsncpy
-#define MEMCMP wmemcmp
-#define STPCPY wcpcpy
-#define STPNCPY wcpncpy
-#define MEMCPY wmemcpy
-#define MEMPCPY wmempcpy
-#define MEMCHR wmemchr
-#define STRCMP wcscmp
-#define STRNCMP wcsncmp
-
-
-#include "../string/stratcliff.c"
diff --git a/wcsmbs/wcscasecmp.c b/wcsmbs/wcscasecmp.c
deleted file mode 100644
index 0f02e505c0..0000000000
--- a/wcsmbs/wcscasecmp.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Copyright (C) 1991-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <wctype.h>
-#include <wchar.h>
-
-#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 , __locale_t loc
-#else
-# define LOCALE_PARAM
-#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 (const wchar_t *s1, const wchar_t *s2 LOCALE_PARAM)
-{
- wint_t c1, c2;
-
- if (s1 == s2)
- return 0;
-
- do
- {
- c1 = TOLOWER (*s1++);
- c2 = TOLOWER (*s2++);
- if (c1 == L'\0')
- break;
- }
- while (c1 == c2);
-
- return c1 - c2;
-}
-#ifndef __wcscasecmp
-weak_alias (__wcscasecmp, wcscasecmp)
-#endif
diff --git a/wcsmbs/wcscasecmp_l.c b/wcsmbs/wcscasecmp_l.c
deleted file mode 100644
index 9fa1cc621e..0000000000
--- a/wcsmbs/wcscasecmp_l.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 1997-2017 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define USE_IN_EXTENDED_LOCALE_MODEL 1
-#include <wcscasecmp.c>
-
-libc_hidden_def (__wcscasecmp_l)
-weak_alias (__wcscasecmp_l, wcscasecmp_l)
diff --git a/wcsmbs/wcscat.c b/wcsmbs/wcscat.c
deleted file mode 100644
index d567b7309b..0000000000
--- a/wcsmbs/wcscat.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WCSCAT
-# define __wcscat WCSCAT
-#endif
-
-/* Append SRC on the end of DEST. */
-wchar_t *
-__wcscat (wchar_t *dest, const wchar_t *src)
-{
- wchar_t *s1 = dest;
- const wchar_t *s2 = src;
- wchar_t c;
-
- /* Find the end of the string. */
- do
- c = *s1++;
- while (c != L'\0');
-
- /* Make S1 point before the next character, so we can increment
- it while memory is read (wins on pipelined cpus). */
- s1 -= 2;
-
- do
- {
- c = *s2++;
- *++s1 = c;
- }
- while (c != L'\0');
-
- return dest;
-}
-#ifndef WCSCAT
-weak_alias (__wcscat, wcscat)
-#endif
diff --git a/wcsmbs/wcschr.c b/wcsmbs/wcschr.c
deleted file mode 100644
index 210ae07647..0000000000
--- a/wcsmbs/wcschr.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1995-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifndef WCSCHR
-# define WCSCHR __wcschr
-#endif
-
-/* Find the first occurrence of WC in WCS. */
-wchar_t *
-WCSCHR (const wchar_t *wcs, const wchar_t wc)
-{
- do
- if (*wcs == wc)
- return (wchar_t *) wcs;
- while (*wcs++ != L'\0');
-
- return NULL;
-}
-libc_hidden_def (__wcschr)
-weak_alias (__wcschr, wcschr)
-libc_hidden_weak (wcschr)
diff --git a/wcsmbs/wcschrnul.c b/wcsmbs/wcschrnul.c
deleted file mode 100644
index 67ddb1a884..0000000000
--- a/wcsmbs/wcschrnul.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1995-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WCSCHRNUL
-# define __wcschrnul WCSCHRNUL
-#endif
-
-/* Find the first occurrence of WC in WCS. */
-wchar_t *
-__wcschrnul (const wchar_t *wcs, const wchar_t wc)
-{
- while (*wcs != L'\0')
- if (*wcs == wc)
- break;
- else
- ++wcs;
-
- return (wchar_t *) wcs;
-}
-#ifndef WCSCHRNUL
-weak_alias (__wcschrnul, wcschrnul)
-#endif
diff --git a/wcsmbs/wcscmp.c b/wcsmbs/wcscmp.c
deleted file mode 100644
index 9c0d761311..0000000000
--- a/wcsmbs/wcscmp.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifndef WCSCMP
-# define WCSCMP __wcscmp
-#endif
-
-/* Compare S1 and S2, returning less than, equal to or
- greater than zero if S1 is lexicographically less than,
- equal to or greater than S2. */
-int
-WCSCMP (const wchar_t *s1, const wchar_t *s2)
-{
- wchar_t c1, c2;
-
- do
- {
- c1 = *s1++;
- c2 = *s2++;
- if (c2 == L'\0')
- return c1 - c2;
- }
- while (c1 == c2);
-
- return c1 < c2 ? -1 : 1;
-}
-libc_hidden_def (WCSCMP)
-weak_alias (WCSCMP, wcscmp)
diff --git a/wcsmbs/wcscoll.c b/wcsmbs/wcscoll.c
deleted file mode 100644
index 88c60fde17..0000000000
--- a/wcsmbs/wcscoll.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include "../locale/coll-lookup.h"
-
-#define STRING_TYPE wchar_t
-#define USTRING_TYPE wint_t
-#define STRCOLL __wcscoll
-#define STRCOLL_L __wcscoll_l
-#define USE_HIDDEN_DEF
-
-#include "../string/strcoll.c"
-
-#ifndef USE_IN_EXTENDED_LOCALE_MODEL
-weak_alias (__wcscoll, wcscoll)
-#endif
diff --git a/wcsmbs/wcscoll_l.c b/wcsmbs/wcscoll_l.c
deleted file mode 100644
index b5e760389a..0000000000
--- a/wcsmbs/wcscoll_l.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-
-#include <wchar.h>
-#include "../locale/coll-lookup.h"
-
-#define STRING_TYPE wchar_t
-#define USTRING_TYPE wint_t
-#define STRCOLL __wcscoll_l
-#define STRCMP __wcscmp
-#define WEIGHT_H "../locale/weightwc.h"
-#define SUFFIX WC
-#define L(arg) L##arg
-#define WIDE_CHAR_VERSION 1
-
-#include "../string/strcoll_l.c"
-
-weak_alias (__wcscoll_l, wcscoll_l)
diff --git a/wcsmbs/wcscpy.c b/wcsmbs/wcscpy.c
deleted file mode 100644
index 21dd547961..0000000000
--- a/wcsmbs/wcscpy.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <wchar.h>
-
-
-#ifndef WCSCPY
-# define WCSCPY wcscpy
-#endif
-
-/* Copy SRC to DEST. */
-wchar_t *
-WCSCPY (wchar_t *dest, const wchar_t *src)
-{
- wint_t c;
- wchar_t *wcp;
-
- if (__alignof__ (wchar_t) >= sizeof (wchar_t))
- {
- const ptrdiff_t off = dest - src - 1;
-
- wcp = (wchar_t *) src;
-
- do
- {
- c = *wcp++;
- wcp[off] = c;
- }
- while (c != L'\0');
- }
- else
- {
- wcp = dest;
-
- do
- {
- c = *src++;
- *wcp++ = c;
- }
- while (c != L'\0');
- }
-
- return dest;
-}
diff --git a/wcsmbs/wcscspn.c b/wcsmbs/wcscspn.c
deleted file mode 100644
index 5e74d464c5..0000000000
--- a/wcsmbs/wcscspn.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WCSCSPN
-# define wcscspn WCSCSPN
-#endif
-
-/* Return the length of the maximum initial segment
- of WCS which contains only wide-characters not in REJECT. */
-size_t
-wcscspn (const wchar_t *wcs, const wchar_t *reject)
-{
- size_t count = 0;
-
- while (*wcs != L'\0')
- if (wcschr (reject, *wcs++) == NULL)
- ++count;
- else
- return count;
-
- return count;
-}
diff --git a/wcsmbs/wcsdup.c b/wcsmbs/wcsdup.c
deleted file mode 100644
index 4215541476..0000000000
--- a/wcsmbs/wcsdup.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include <string.h>
-#include <stdlib.h>
-
-
-/* Duplicate S, returning an identical malloc'd string. */
-wchar_t *
-wcsdup (const wchar_t *s)
-{
- size_t len = (__wcslen (s) + 1) * sizeof (wchar_t);
- void *new = malloc (len);
-
- if (new == NULL)
- return NULL;
-
- return (wchar_t *) memcpy (new, (void *) s, len);
-}
diff --git a/wcsmbs/wcslen.c b/wcsmbs/wcslen.c
deleted file mode 100644
index 716b390b1d..0000000000
--- a/wcsmbs/wcslen.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-/* Return length of string S. */
-#ifdef WCSLEN
-# define __wcslen WCSLEN
-#endif
-
-size_t
-__wcslen (const wchar_t *s)
-{
- size_t len = 0;
-
- while (s[len] != L'\0')
- {
- if (s[++len] == L'\0')
- return len;
- if (s[++len] == L'\0')
- return len;
- if (s[++len] == L'\0')
- return len;
- ++len;
- }
-
- return len;
-}
-#ifndef WCSLEN
-weak_alias (__wcslen, wcslen)
-#endif
diff --git a/wcsmbs/wcsmbs-tst1.c b/wcsmbs/wcsmbs-tst1.c
deleted file mode 100644
index 0d0e18f63a..0000000000
--- a/wcsmbs/wcsmbs-tst1.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Based on a test program by Won Kyu Park <wkpark@chem.skku.ac.kr>. */
-
-#include <wchar.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <wctype.h>
-#include <locale.h>
-
-int
-main (void)
-{
- int test = 0;
- int idx = 0;
- char buf[100], *pchar;
- wchar_t tmp[10];
- wchar_t tmp1[] = { L'W', L'o', L'r', L'l', L'd', L'\0' };
- char str[] = "Hello";
- int result = 0;
-
- pchar = setlocale (LC_ALL, "de_DE.UTF-8");
- printf ("locale : %s\n",pchar);
- printf ("MB_CUR_MAX %Zd\n", MB_CUR_MAX);
-
- puts ("---- test 1 ------");
- test = mbstowcs (tmp, str, (strlen (str) + 1) * sizeof (char));
- printf ("size of string by mbstowcs %d\n", test);
- if (test != strlen (str))
- result = 1;
- idx += wctomb (&buf[0], tmp[0]);
- idx += wctomb (&buf[idx], tmp[1]);
- buf[idx] = 0;
- printf ("orig string %s\n", str);
- printf ("string by wctomb %s\n", buf);
- printf ("string by %%C %C", (wint_t) tmp[0]);
- if (tmp[0] != L'H')
- result = 1;
- printf ("%C\n", (wint_t) tmp[1]);
- if (tmp[1] != L'e')
- result = 1;
- printf ("string by %%S %S\n", tmp);
- if (wcscmp (tmp, L"Hello") != 0)
- result = 1;
- puts ("---- test 2 ------");
- printf ("wchar string %S\n", tmp1);
- printf ("wchar %C\n", (wint_t) tmp1[0]);
- test = wcstombs (buf, tmp1, (wcslen (tmp1) + 1) * sizeof (wchar_t));
- printf ("size of string by wcstombs %d\n", test);
- if (test != wcslen (tmp1))
- result = 1;
- test = wcslen (tmp1);
- printf ("size of string by wcslen %d\n", test);
- printf ("char %s\n", buf);
- if (strcmp (buf, "World") != 0)
- result = 1;
- puts ("------------------");
-
- return result;
-}
diff --git a/wcsmbs/wcsmbsload.c b/wcsmbs/wcsmbsload.c
deleted file mode 100644
index 656cc0a8e8..0000000000
--- a/wcsmbs/wcsmbsload.c
+++ /dev/null
@@ -1,270 +0,0 @@
-/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <ctype.h>
-#include <langinfo.h>
-#include <limits.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <locale/localeinfo.h>
-#include <wcsmbsload.h>
-#include <libc-lock.h>
-
-
-/* These are the descriptions for the default conversion functions. */
-static const struct __gconv_step to_wc =
-{
- .__shlib_handle = NULL,
- .__modname = NULL,
- .__counter = INT_MAX,
- .__from_name = (char *) "ANSI_X3.4-1968//TRANSLIT",
- .__to_name = (char *) "INTERNAL",
- .__fct = __gconv_transform_ascii_internal,
- .__btowc_fct = __gconv_btwoc_ascii,
- .__init_fct = NULL,
- .__end_fct = NULL,
- .__min_needed_from = 1,
- .__max_needed_from = 1,
- .__min_needed_to = 4,
- .__max_needed_to = 4,
- .__stateful = 0,
- .__data = NULL
-};
-
-static const struct __gconv_step to_mb =
-{
- .__shlib_handle = NULL,
- .__modname = NULL,
- .__counter = INT_MAX,
- .__from_name = (char *) "INTERNAL",
- .__to_name = (char *) "ANSI_X3.4-1968//TRANSLIT",
- .__fct = __gconv_transform_internal_ascii,
- .__btowc_fct = NULL,
- .__init_fct = NULL,
- .__end_fct = NULL,
- .__min_needed_from = 4,
- .__max_needed_from = 4,
- .__min_needed_to = 1,
- .__max_needed_to = 1,
- .__stateful = 0,
- .__data = NULL
-};
-
-
-/* For the default locale we only have to handle ANSI_X3.4-1968. */
-const struct gconv_fcts __wcsmbs_gconv_fcts_c =
-{
- .towc = (struct __gconv_step *) &to_wc,
- .towc_nsteps = 1,
- .tomb = (struct __gconv_step *) &to_mb,
- .tomb_nsteps = 1,
-};
-
-
-attribute_hidden
-struct __gconv_step *
-__wcsmbs_getfct (const char *to, const char *from, size_t *nstepsp)
-{
- size_t nsteps;
- struct __gconv_step *result;
-#if 0
- size_t nstateful;
- size_t cnt;
-#endif
-
- if (__gconv_find_transform (to, from, &result, &nsteps, 0) != __GCONV_OK)
- /* Loading the conversion step is not possible. */
- return NULL;
-
- /* Maybe it is someday necessary to allow more than one step.
- Currently this is not the case since the conversions handled here
- are from and to INTERNAL and there always is a converted for
- that. It the directly following code is enabled the libio
- functions will have to allocate appropriate __gconv_step_data
- elements instead of only one. */
-#if 0
- /* Count the number of stateful conversions. Since we will only
- have one 'mbstate_t' object available we can only deal with one
- stateful conversion. */
- nstateful = 0;
- for (cnt = 0; cnt < nsteps; ++cnt)
- if (result[cnt].__stateful)
- ++nstateful;
- if (nstateful > 1)
-#else
- if (nsteps > 1)
-#endif
- {
- /* We cannot handle this case. */
- __gconv_close_transform (result, nsteps);
- result = NULL;
- }
- else
- *nstepsp = nsteps;
-
- return result;
-}
-
-
-/* Extract from the given locale name the character set portion. Since
- only the XPG form of the name includes this information we don't have
- to take care for the CEN form. */
-#define extract_charset_name(str) \
- ({ \
- const char *cp = str; \
- char *result = NULL; \
- \
- cp += strcspn (cp, "@.+,"); \
- if (*cp == '.') \
- { \
- const char *endp = ++cp; \
- while (*endp != '\0' && *endp != '@') \
- ++endp; \
- if (endp != cp) \
- result = strndupa (cp, endp - cp); \
- } \
- result; \
- })
-
-
-/* Some of the functions here must not be used while setlocale is called. */
-__libc_rwlock_define (extern, __libc_setlocale_lock attribute_hidden)
-
-/* Load conversion functions for the currently selected locale. */
-void
-internal_function
-__wcsmbs_load_conv (struct __locale_data *new_category)
-{
- /* Acquire the lock. */
- __libc_rwlock_wrlock (__libc_setlocale_lock);
-
- /* We should repeat the test since while we waited some other thread
- might have run this function. */
- if (__glibc_likely (new_category->private.ctype == NULL))
- {
- /* We must find the real functions. */
- const char *charset_name;
- const char *complete_name;
- struct gconv_fcts *new_fcts;
- int use_translit;
-
- /* Allocate the gconv_fcts structure. */
- new_fcts = calloc (1, sizeof *new_fcts);
- if (new_fcts == NULL)
- goto failed;
-
- /* Get name of charset of the locale. */
- charset_name = new_category->values[_NL_ITEM_INDEX(CODESET)].string;
-
- /* Does the user want transliteration? */
- use_translit = new_category->use_translit;
-
- /* Normalize the name and add the slashes necessary for a
- complete lookup. */
- complete_name = norm_add_slashes (charset_name,
- use_translit ? "TRANSLIT" : "");
-
- /* It is not necessary to use transliteration in this direction
- since the internal character set is supposed to be able to
- represent all others. */
- new_fcts->towc = __wcsmbs_getfct ("INTERNAL", complete_name,
- &new_fcts->towc_nsteps);
- if (new_fcts->towc != NULL)
- new_fcts->tomb = __wcsmbs_getfct (complete_name, "INTERNAL",
- &new_fcts->tomb_nsteps);
-
- /* If any of the conversion functions is not available we don't
- use any since this would mean we cannot convert back and
- forth. NB: NEW_FCTS was allocated with calloc. */
- if (new_fcts->tomb == NULL)
- {
- if (new_fcts->towc != NULL)
- __gconv_close_transform (new_fcts->towc, new_fcts->towc_nsteps);
-
- free (new_fcts);
-
- failed:
- new_category->private.ctype = &__wcsmbs_gconv_fcts_c;
- }
- else
- {
- new_category->private.ctype = new_fcts;
- new_category->private.cleanup = &_nl_cleanup_ctype;
- }
- }
-
- __libc_rwlock_unlock (__libc_setlocale_lock);
-}
-
-
-/* Clone the current conversion function set. */
-void
-internal_function
-__wcsmbs_clone_conv (struct gconv_fcts *copy)
-{
- const struct gconv_fcts *orig;
-
- orig = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
-
- /* Copy the data. */
- *copy = *orig;
-
- /* Now increment the usage counters.
- Note: This assumes copy->*_nsteps == 1. */
- if (copy->towc->__shlib_handle != NULL)
- ++copy->towc->__counter;
- if (copy->tomb->__shlib_handle != NULL)
- ++copy->tomb->__counter;
-}
-
-
-/* Get converters for named charset. */
-int
-internal_function
-__wcsmbs_named_conv (struct gconv_fcts *copy, const char *name)
-{
- copy->towc = __wcsmbs_getfct ("INTERNAL", name, &copy->towc_nsteps);
- if (copy->towc == NULL)
- return 1;
-
- copy->tomb = __wcsmbs_getfct (name, "INTERNAL", &copy->tomb_nsteps);
- if (copy->tomb == NULL)
- {
- __gconv_close_transform (copy->towc, copy->towc_nsteps);
- return 1;
- }
-
- return 0;
-}
-
-void internal_function
-_nl_cleanup_ctype (struct __locale_data *locale)
-{
- const struct gconv_fcts *const data = locale->private.ctype;
- if (data != NULL)
- {
- locale->private.ctype = NULL;
- locale->private.cleanup = NULL;
-
- /* Free the old conversions. */
- __gconv_close_transform (data->tomb, data->tomb_nsteps);
- __gconv_close_transform (data->towc, data->towc_nsteps);
- free ((char *) data);
- }
-}
diff --git a/wcsmbs/wcsmbsload.h b/wcsmbs/wcsmbsload.h
deleted file mode 100644
index 3e254a877e..0000000000
--- a/wcsmbs/wcsmbsload.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _WCSMBSLOAD_H
-#define _WCSMBSLOAD_H 1
-
-#include <locale.h>
-#include <wchar.h>
-#include <locale/localeinfo.h>
-
-
-/* Contains pointers to the used functions in the `gconv' modules. */
-struct gconv_fcts
- {
- struct __gconv_step *towc;
- size_t towc_nsteps;
- struct __gconv_step *tomb;
- size_t tomb_nsteps;
- };
-
-/* Set of currently active conversion functions. */
-extern const struct gconv_fcts __wcsmbs_gconv_fcts_c attribute_hidden;
-
-/* Load conversion functions for the currently selected locale. */
-extern void __wcsmbs_load_conv (struct __locale_data *new_category)
- internal_function;
-
-/* Clone the current `__wcsmbs_load_conv' value. */
-extern void __wcsmbs_clone_conv (struct gconv_fcts *copy)
- internal_function;
-
-/* Find the conversion functions for converting to and from NAME. */
-extern int __wcsmbs_named_conv (struct gconv_fcts *copy, const char *name)
- internal_function;
-
-/* Function used for the `private.cleanup' hook. */
-extern void _nl_cleanup_ctype (struct __locale_data *)
- internal_function attribute_hidden;
-
-
-#include <iconv/gconv_int.h>
-
-
-/* Load the function implementation if necessary. */
-extern struct __gconv_step *__wcsmbs_getfct (const char *to, const char *from,
- size_t *nstepsp)
- attribute_hidden;
-
-extern const struct __locale_data _nl_C_LC_CTYPE attribute_hidden;
-
-/* Check whether the LC_CTYPE locale changed since the last call.
- Update the pointers appropriately. */
-static inline const struct gconv_fcts *
-get_gconv_fcts (struct __locale_data *data)
-{
- if (__glibc_unlikely (data->private.ctype == NULL))
- {
- if (__glibc_unlikely (data == &_nl_C_LC_CTYPE))
- return &__wcsmbs_gconv_fcts_c;
- __wcsmbs_load_conv (data);
- }
- return data->private.ctype;
-}
-
-#endif /* wcsmbsload.h */
diff --git a/wcsmbs/wcsncase.c b/wcsmbs/wcsncase.c
deleted file mode 100644
index 945434ce5a..0000000000
--- a/wcsmbs/wcsncase.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Compare at most N wide characters of two strings without taking care
- for the case.
- Copyright (C) 1992-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#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 , __locale_t loc
-#else
-# define LOCALE_PARAM
-#endif
-
-/* Compare no more than N wide characters of 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
-__wcsncasecmp (const wchar_t *s1, const wchar_t *s2, size_t n LOCALE_PARAM)
-{
- wint_t c1, c2;
-
- if (s1 == s2 || n == 0)
- return 0;
-
- do
- {
- 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;
-}
-#ifndef __wcsncasecmp
-weak_alias (__wcsncasecmp, wcsncasecmp)
-#endif
diff --git a/wcsmbs/wcsncase_l.c b/wcsmbs/wcsncase_l.c
deleted file mode 100644
index 70d9e6d51b..0000000000
--- a/wcsmbs/wcsncase_l.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 1997-2017 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define USE_IN_EXTENDED_LOCALE_MODEL 1
-#include <wcsncase.c>
-
-libc_hidden_def (__wcsncasecmp_l)
-weak_alias (__wcsncasecmp_l, wcsncasecmp_l)
diff --git a/wcsmbs/wcsncat.c b/wcsmbs/wcsncat.c
deleted file mode 100644
index 225d826c50..0000000000
--- a/wcsmbs/wcsncat.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifndef WCSNCAT
-# define WCSNCAT wcsncat
-#endif
-
-/* Append no more than N wide-character of SRC onto DEST. */
-wchar_t *
-WCSNCAT (wchar_t *dest, const wchar_t *src, size_t n)
-{
- wchar_t c;
- wchar_t * const s = dest;
-
- /* Find the end of DEST. */
- do
- c = *dest++;
- while (c != L'\0');
-
- /* Make DEST point before next character, so we can increment
- it while memory is read (wins on pipelined cpus). */
- dest -= 2;
-
- if (n >= 4)
- {
- size_t n4 = n >> 2;
- do
- {
- c = *src++;
- *++dest = c;
- if (c == L'\0')
- return s;
- c = *src++;
- *++dest = c;
- if (c == L'\0')
- return s;
- c = *src++;
- *++dest = c;
- if (c == L'\0')
- return s;
- c = *src++;
- *++dest = c;
- if (c == L'\0')
- return s;
- } while (--n4 > 0);
- n &= 3;
- }
-
- while (n > 0)
- {
- c = *src++;
- *++dest = c;
- if (c == L'\0')
- return s;
- n--;
- }
-
- if (c != L'\0')
- *++dest = L'\0';
-
- return s;
-}
diff --git a/wcsmbs/wcsncmp.c b/wcsmbs/wcsncmp.c
deleted file mode 100644
index 9fe57c7893..0000000000
--- a/wcsmbs/wcsncmp.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifndef WCSNCMP
-# define WCSNCMP wcsncmp
-#endif
-
-/* Compare no more than N characters of S1 and S2,
- returning less than, equal to or greater than zero
- if S1 is lexicographically less than, equal to or
- greater than S2. */
-int
-WCSNCMP (const wchar_t *s1, const wchar_t *s2, size_t n)
-{
- wchar_t c1 = L'\0';
- wchar_t c2 = L'\0';
-
- if (n >= 4)
- {
- size_t n4 = n >> 2;
- do
- {
- c1 = *s1++;
- c2 = *s2++;
- if (c1 == L'\0' || c1 != c2)
- return c1 > c2 ? 1 : (c1 < c2 ? -1 : 0);
- c1 = *s1++;
- c2 = *s2++;
- if (c1 == L'\0' || c1 != c2)
- return c1 > c2 ? 1 : (c1 < c2 ? -1 : 0);
- c1 = *s1++;
- c2 = *s2++;
- if (c1 == L'\0' || c1 != c2)
- return c1 > c2 ? 1 : (c1 < c2 ? -1 : 0);
- c1 = *s1++;
- c2 = *s2++;
- if (c1 == L'\0' || c1 != c2)
- return c1 > c2 ? 1 : (c1 < c2 ? -1 : 0);
- } while (--n4 > 0);
- n &= 3;
- }
-
- while (n > 0)
- {
- c1 = *s1++;
- c2 = *s2++;
- if (c1 == L'\0' || c1 != c2)
- return c1 > c2 ? 1 : (c1 < c2 ? -1 : 0);
- n--;
- }
-
- return 0;
-}
diff --git a/wcsmbs/wcsncpy.c b/wcsmbs/wcsncpy.c
deleted file mode 100644
index 27bfb0d0da..0000000000
--- a/wcsmbs/wcsncpy.c
+++ /dev/null
@@ -1,88 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WCSNCPY
-# define __wcsncpy WCSNCPY
-#endif
-
-/* Copy no more than N wide-characters of SRC to DEST. */
-wchar_t *
-__wcsncpy (wchar_t *dest, const wchar_t *src, size_t n)
-{
- wint_t c;
- wchar_t *const s = dest;
-
- --dest;
-
- if (n >= 4)
- {
- size_t n4 = n >> 2;
-
- for (;;)
- {
- c = *src++;
- *++dest = c;
- if (c == L'\0')
- break;
- c = *src++;
- *++dest = c;
- if (c == L'\0')
- break;
- c = *src++;
- *++dest = c;
- if (c == L'\0')
- break;
- c = *src++;
- *++dest = c;
- if (c == L'\0')
- break;
- if (--n4 == 0)
- goto last_chars;
- }
- n = n - (dest - s) - 1;
- if (n == 0)
- return s;
- goto zero_fill;
- }
-
- last_chars:
- n &= 3;
- if (n == 0)
- return s;
-
- do
- {
- c = *src++;
- *++dest = c;
- if (--n == 0)
- return s;
- }
- while (c != L'\0');
-
- zero_fill:
- do
- *++dest = L'\0';
- while (--n > 0);
-
- return s;
-}
-#ifndef WCSNCPY
-weak_alias (__wcsncpy, wcsncpy)
-#endif
diff --git a/wcsmbs/wcsnlen.c b/wcsmbs/wcsnlen.c
deleted file mode 100644
index 21bb6db0c7..0000000000
--- a/wcsmbs/wcsnlen.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 1998-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WCSNLEN
-# define __wcsnlen WCSNLEN
-#endif
-
-/* Return length of string S at most maxlen. */
-size_t
-__wcsnlen (const wchar_t *s, size_t maxlen)
-{
- size_t len = 0;
-
- while (maxlen > 0 && s[len] != L'\0')
- {
- ++len;
- if (--maxlen == 0 || s[len] == L'\0')
- return len;
- ++len;
- if (--maxlen == 0 || s[len] == L'\0')
- return len;
- ++len;
- if (--maxlen == 0 || s[len] == L'\0')
- return len;
- ++len;
- --maxlen;
- }
-
- return len;
-}
-#ifndef WCSNLEN
-weak_alias (__wcsnlen, wcsnlen)
-#endif
diff --git a/wcsmbs/wcsnrtombs.c b/wcsmbs/wcsnrtombs.c
deleted file mode 100644
index 9c331dc0e6..0000000000
--- a/wcsmbs/wcsnrtombs.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <dlfcn.h>
-#include <errno.h>
-#include <gconv.h>
-#include <wchar.h>
-#include <wcsmbsload.h>
-
-#include <sysdep.h>
-
-#ifndef EILSEQ
-# define EILSEQ EINVAL
-#endif
-
-
-/* This is the private state used if PS is NULL. */
-static mbstate_t state;
-
-/* This is a non-standard function but it is very useful in the
- implementation of stdio because we have to deal with unterminated
- buffers. At most NWC wide character will be converted. */
-size_t
-__wcsnrtombs (char *dst, const wchar_t **src, size_t nwc, size_t len,
- mbstate_t *ps)
-{
- struct __gconv_step_data data;
- const wchar_t *srcend;
- int status;
- size_t result;
- struct __gconv_step *tomb;
- const struct gconv_fcts *fcts;
-
- /* Tell where we want the result. */
- data.__invocation_counter = 0;
- data.__internal_use = 1;
- data.__flags = __GCONV_IS_LAST;
- data.__statep = ps ?: &state;
-
- if (nwc == 0)
- return 0;
- srcend = *src + __wcsnlen (*src, nwc - 1) + 1;
-
- /* Get the conversion functions. */
- fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
-
- /* Get the structure with the function pointers. */
- tomb = fcts->tomb;
- __gconv_fct fct = tomb->__fct;
-#ifdef PTR_DEMANGLE
- if (tomb->__shlib_handle != NULL)
- PTR_DEMANGLE (fct);
-#endif
-
- /* We have to handle DST == NULL special. */
- if (dst == NULL)
- {
- mbstate_t temp_state;
- unsigned char buf[256]; /* Just an arbitrary value. */
- const unsigned char *inbuf = (const unsigned char *) *src;
- size_t dummy;
-
- temp_state = *data.__statep;
- data.__statep = &temp_state;
-
- result = 0;
- data.__outbufend = buf + sizeof (buf);
-
- do
- {
- data.__outbuf = buf;
-
- status = DL_CALL_FCT (fct, (tomb, &data, &inbuf,
- (const unsigned char *) srcend, NULL,
- &dummy, 0, 1));
-
- /* Count the number of bytes. */
- result += data.__outbuf - buf;
- }
- while (status == __GCONV_FULL_OUTPUT);
-
- if ((status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
- && data.__outbuf[-1] == '\0')
- /* Don't count the NUL character in. */
- --result;
- }
- else
- {
- /* This code is based on the safe assumption that all internal
- multi-byte encodings use the NUL byte only to mark the end
- of the string. */
- size_t dummy;
-
- data.__outbuf = (unsigned char *) dst;
- data.__outbufend = (unsigned char *) dst + len;
-
- status = DL_CALL_FCT (fct, (tomb, &data, (const unsigned char **) src,
- (const unsigned char *) srcend, NULL,
- &dummy, 0, 1));
-
- /* Count the number of bytes. */
- result = data.__outbuf - (unsigned char *) dst;
-
- /* We have to determine whether the last character converted
- is the NUL character. */
- if ((status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
- && data.__outbuf[-1] == '\0')
- {
- assert (data.__outbuf != (unsigned char *) dst);
- assert (__mbsinit (data.__statep));
- *src = NULL;
- --result;
- }
- }
-
- /* There must not be any problems with the conversion but illegal input
- characters. */
- assert (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_ILLEGAL_INPUT
- || status == __GCONV_INCOMPLETE_INPUT
- || status == __GCONV_FULL_OUTPUT);
-
- if (status != __GCONV_OK && status != __GCONV_FULL_OUTPUT
- && status != __GCONV_EMPTY_INPUT)
- {
- result = (size_t) -1;
- __set_errno (EILSEQ);
- }
-
- return result;
-}
-weak_alias (__wcsnrtombs, wcsnrtombs)
diff --git a/wcsmbs/wcspbrk.c b/wcsmbs/wcspbrk.c
deleted file mode 100644
index e510ab8b57..0000000000
--- a/wcsmbs/wcspbrk.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WCSPBRK
-# define wcspbrk WCSPBRK
-#endif
-
-/* Find the first occurrence in WCS of any wide-character in ACCEPT. */
-wchar_t *
-wcspbrk (const wchar_t *wcs, const wchar_t *accept)
-{
- while (*wcs != L'\0')
- if (wcschr (accept, *wcs) == NULL)
- ++wcs;
- else
- return (wchar_t *) wcs;
-
- return NULL;
-}
-libc_hidden_def (wcspbrk)
diff --git a/wcsmbs/wcsrchr.c b/wcsmbs/wcsrchr.c
deleted file mode 100644
index 03407d506e..0000000000
--- a/wcsmbs/wcsrchr.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifndef WCSRCHR
-# define WCSRCHR wcsrchr
-#endif
-
-/* Find the last occurrence of WC in WCS. */
-wchar_t *
-WCSRCHR (const wchar_t *wcs, const wchar_t wc)
-{
- const wchar_t *retval = NULL;
-
- do
- if (*wcs == wc)
- retval = wcs;
- while (*wcs++ != L'\0');
-
- return (wchar_t *) retval;
-}
diff --git a/wcsmbs/wcsrtombs.c b/wcsmbs/wcsrtombs.c
deleted file mode 100644
index 9b6efa7751..0000000000
--- a/wcsmbs/wcsrtombs.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <assert.h>
-#include <dlfcn.h>
-#include <errno.h>
-#include <stdlib.h>
-#include <gconv.h>
-#include <wchar.h>
-#include <wcsmbsload.h>
-
-#include <sysdep.h>
-
-#ifndef EILSEQ
-# define EILSEQ EINVAL
-#endif
-
-
-/* This is the private state used if PS is NULL. */
-static mbstate_t state;
-
-size_t
-__wcsrtombs (char *dst, const wchar_t **src, size_t len, mbstate_t *ps)
-{
- struct __gconv_step_data data;
- int status;
- size_t result;
- struct __gconv_step *tomb;
- const struct gconv_fcts *fcts;
-
- /* Tell where we want the result. */
- data.__invocation_counter = 0;
- data.__internal_use = 1;
- data.__flags = __GCONV_IS_LAST;
- data.__statep = ps ?: &state;
-
- /* Get the conversion functions. */
- fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
-
- /* Get the structure with the function pointers. */
- tomb = fcts->tomb;
- __gconv_fct fct = tomb->__fct;
-#ifdef PTR_DEMANGLE
- if (tomb->__shlib_handle != NULL)
- PTR_DEMANGLE (fct);
-#endif
-
- /* We have to handle DST == NULL special. */
- if (dst == NULL)
- {
- mbstate_t temp_state;
- unsigned char buf[256]; /* Just an arbitrary value. */
- const wchar_t *srcend = *src + __wcslen (*src) + 1;
- const unsigned char *inbuf = (const unsigned char *) *src;
- size_t dummy;
-
- temp_state = *data.__statep;
- data.__statep = &temp_state;
-
- result = 0;
- data.__outbufend = buf + sizeof (buf);
-
- do
- {
- data.__outbuf = buf;
-
- status = DL_CALL_FCT (fct, (tomb, &data, &inbuf,
- (const unsigned char *) srcend, NULL,
- &dummy, 0, 1));
-
- /* Count the number of bytes. */
- result += data.__outbuf - buf;
- }
- while (status == __GCONV_FULL_OUTPUT);
-
- if (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
- {
- /* There better should be a NUL byte at the end. */
- assert (data.__outbuf[-1] == '\0');
- /* Don't count the NUL character in. */
- --result;
- }
- }
- else
- {
- /* This code is based on the safe assumption that all internal
- multi-byte encodings use the NUL byte only to mark the end
- of the string. */
- const wchar_t *srcend = *src + __wcsnlen (*src, len) + 1;
- size_t dummy;
-
- data.__outbuf = (unsigned char *) dst;
- data.__outbufend = (unsigned char *) dst + len;
-
- status = DL_CALL_FCT (fct, (tomb, &data, (const unsigned char **) src,
- (const unsigned char *) srcend, NULL,
- &dummy, 0, 1));
-
- /* Count the number of bytes. */
- result = data.__outbuf - (unsigned char *) dst;
-
- /* We have to determine whether the last character converted
- is the NUL character. */
- if ((status == __GCONV_OK || status == __GCONV_EMPTY_INPUT)
- && data.__outbuf[-1] == '\0')
- {
- assert (data.__outbuf != (unsigned char *) dst);
- assert (__mbsinit (data.__statep));
- *src = NULL;
- --result;
- }
- }
-
- /* There must not be any problems with the conversion but illegal input
- characters. */
- assert (status == __GCONV_OK || status == __GCONV_EMPTY_INPUT
- || status == __GCONV_ILLEGAL_INPUT
- || status == __GCONV_INCOMPLETE_INPUT
- || status == __GCONV_FULL_OUTPUT);
-
- if (status != __GCONV_OK && status != __GCONV_FULL_OUTPUT
- && status != __GCONV_EMPTY_INPUT)
- {
- result = (size_t) -1;
- __set_errno (EILSEQ);
- }
-
- return result;
-}
-weak_alias (__wcsrtombs, wcsrtombs)
diff --git a/wcsmbs/wcsspn.c b/wcsmbs/wcsspn.c
deleted file mode 100644
index 8d911bb23a..0000000000
--- a/wcsmbs/wcsspn.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WCSSPN
-# define wcsspn WCSSPN
-#endif
-
-/* Return the length of the maximum initial segment
- of WCS which contains only wide-characters in ACCEPT. */
-size_t
-wcsspn (const wchar_t *wcs, const wchar_t *accept)
-{
- const wchar_t *p;
- const wchar_t *a;
- size_t count = 0;
-
- for (p = wcs; *p != L'\0'; ++p)
- {
- for (a = accept; *a != L'\0'; ++a)
- if (*p == *a)
- break;
- if (*a == L'\0')
- return count;
- else
- ++count;
- }
-
- return count;
-}
-libc_hidden_def (wcsspn)
diff --git a/wcsmbs/wcsstr.c b/wcsmbs/wcsstr.c
deleted file mode 100644
index 0a9fc4cc67..0000000000
--- a/wcsmbs/wcsstr.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Copyright (C) 1995-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-/*
- * The original strstr() file contains the following comment:
- *
- * My personal strstr() implementation that beats most other algorithms.
- * Until someone tells me otherwise, I assume that this is the
- * fastest implementation of strstr() in C.
- * I deliberately chose not to comment it. You should have at least
- * as much fun trying to understand it, as I had to write it :-).
- *
- * Stephen R. van den Berg, berg@pool.informatik.rwth-aachen.de */
-
-#include <wchar.h>
-
-wchar_t *
-wcsstr (const wchar_t *haystack, const wchar_t *needle)
-{
- wchar_t b, c;
-
- if ((b = *needle) != L'\0')
- {
- haystack--; /* possible ANSI violation */
- do
- if ((c = *++haystack) == L'\0')
- goto ret0;
- while (c != b);
-
- if (!(c = *++needle))
- goto foundneedle;
- ++needle;
- goto jin;
-
- for (;;)
- {
- wchar_t a;
- const wchar_t *rhaystack, *rneedle;
-
- do
- {
- if (!(a = *++haystack))
- goto ret0;
- if (a == b)
- break;
- if ((a = *++haystack) == L'\0')
- goto ret0;
-shloop: ;
- }
- while (a != b);
-
-jin: if (!(a = *++haystack))
- goto ret0;
-
- if (a != c)
- goto shloop;
-
- if (*(rhaystack = haystack-- + 1) == (a = *(rneedle = needle)))
- do
- {
- if (a == L'\0')
- goto foundneedle;
- if (*++rhaystack != (a = *++needle))
- break;
- if (a == L'\0')
- goto foundneedle;
- }
- while (*++rhaystack == (a = *++needle));
-
- needle = rneedle; /* took the register-poor approach */
-
- if (a == L'\0')
- break;
- }
- }
-foundneedle:
- return (wchar_t*) haystack;
-ret0:
- return NULL;
-}
-/* This alias is for backward compatibility with drafts of the ISO C
- standard. Unfortunately the Unix(TM) standard requires this name. */
-weak_alias (wcsstr, wcswcs)
diff --git a/wcsmbs/wcstod.c b/wcsmbs/wcstod.c
deleted file mode 100644
index b7db11b935..0000000000
--- a/wcsmbs/wcstod.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <xlocale.h>
-
-
-#define USE_WIDE_CHAR 1
-
-extern double ____wcstod_l_internal (const wchar_t *, wchar_t **, int,
- __locale_t);
-
-#include <stdlib/strtod.c>
diff --git a/wcsmbs/wcstod_l.c b/wcsmbs/wcstod_l.c
deleted file mode 100644
index 5f7498c4f8..0000000000
--- a/wcsmbs/wcstod_l.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Convert string representing a number to integer value, using given locale.
- Copyright (C) 1997-2017 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <xlocale.h>
-
-
-extern double ____wcstod_l_internal (const wchar_t *, wchar_t **, int,
- __locale_t);
-
-#define USE_WIDE_CHAR 1
-
-#include <stdlib/strtod_l.c>
diff --git a/wcsmbs/wcstod_nan.c b/wcsmbs/wcstod_nan.c
deleted file mode 100644
index 26c15f76de..0000000000
--- a/wcsmbs/wcstod_nan.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Convert string for NaN payload to corresponding NaN. Wide strings, double.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "../stdlib/strtod_nan_wide.h"
-#include "../stdlib/strtod_nan_double.h"
-
-#define STRTOD_NAN __wcstod_nan
-#include "../stdlib/strtod_nan_main.c"
diff --git a/wcsmbs/wcstof.c b/wcsmbs/wcstof.c
deleted file mode 100644
index 29cdec3a98..0000000000
--- a/wcsmbs/wcstof.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <xlocale.h>
-
-#define USE_WIDE_CHAR 1
-
-extern float ____wcstof_l_internal (const wchar_t *, wchar_t **, int,
- __locale_t);
-
-#include <stdlib/strtof.c>
diff --git a/wcsmbs/wcstof_l.c b/wcsmbs/wcstof_l.c
deleted file mode 100644
index 23d402d7ea..0000000000
--- a/wcsmbs/wcstof_l.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Convert string representing a number to integer value, using given locale.
- Copyright (C) 1997-2017 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <xlocale.h>
-
-
-#define USE_WIDE_CHAR 1
-
-extern float ____wcstof_l_internal (const wchar_t *, wchar_t **, int,
- __locale_t);
-
-#include <stdlib/strtof_l.c>
diff --git a/wcsmbs/wcstof_nan.c b/wcsmbs/wcstof_nan.c
deleted file mode 100644
index 98b41d6bf0..0000000000
--- a/wcsmbs/wcstof_nan.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Convert string for NaN payload to corresponding NaN. Wide strings, float.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "../stdlib/strtod_nan_wide.h"
-#include "../stdlib/strtod_nan_float.h"
-
-#define STRTOD_NAN __wcstof_nan
-#include "../stdlib/strtod_nan_main.c"
diff --git a/wcsmbs/wcstok.c b/wcsmbs/wcstok.c
deleted file mode 100644
index 39bacf1497..0000000000
--- a/wcsmbs/wcstok.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright (C) 1995-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include <errno.h>
-
-
-/* Parse WCS into tokens separated by characters in DELIM. If WCS is
- NULL, the last string wcstok() was called with is used. */
-wchar_t *
-wcstok (wchar_t *wcs, const wchar_t *delim, wchar_t **save_ptr)
-{
- wchar_t *result;
-
- if (wcs == NULL)
- {
- if (*save_ptr == NULL)
- {
- __set_errno (EINVAL);
- return NULL;
- }
- else
- wcs = *save_ptr;
- }
-
- /* Scan leading delimiters. */
- wcs += wcsspn (wcs, delim);
- if (*wcs == L'\0')
- {
- *save_ptr = NULL;
- return NULL;
- }
-
- /* Find the end of the token. */
- result = wcs;
- wcs = wcspbrk (result, delim);
- if (wcs == NULL)
- /* This token finishes the string. */
- *save_ptr = NULL;
- else
- {
- /* Terminate the token and make *SAVE_PTR point past it. */
- *wcs = L'\0';
- *save_ptr = wcs + 1;
- }
- return result;
-}
diff --git a/wcsmbs/wcstol.c b/wcsmbs/wcstol.c
deleted file mode 100644
index ffa8924207..0000000000
--- a/wcsmbs/wcstol.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Function to parse a `long int' from text.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define USE_WIDE_CHAR 1
-
-#include <stdlib/strtol.c>
diff --git a/wcsmbs/wcstol_l.c b/wcsmbs/wcstol_l.c
deleted file mode 100644
index 744f8f85b7..0000000000
--- a/wcsmbs/wcstol_l.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Convert string representing a number to integer value, using given locale.
- Copyright (C) 1997-2017 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __need_wchar_t
-#include <stddef.h>
-#include <locale.h>
-
-#define USE_WIDE_CHAR 1
-
-extern long int ____wcstol_l_internal (const wchar_t *, wchar_t **, int, int,
- __locale_t);
-
-#include <stdlib/strtol_l.c>
diff --git a/wcsmbs/wcstold.c b/wcsmbs/wcstold.c
deleted file mode 100644
index e5c1cc3071..0000000000
--- a/wcsmbs/wcstold.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <xlocale.h>
-
-#define USE_WIDE_CHAR 1
-
-extern long double ____wcstold_l_internal (const wchar_t *, wchar_t **, int,
- __locale_t);
-
-#include <stdlib/strtold.c>
diff --git a/wcsmbs/wcstold_l.c b/wcsmbs/wcstold_l.c
deleted file mode 100644
index 3dd33a729a..0000000000
--- a/wcsmbs/wcstold_l.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Convert string representing a number to integer value, using given locale.
- Copyright (C) 1997-2017 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <stddef.h>
-#include <xlocale.h>
-
-#define USE_WIDE_CHAR 1
-
-extern long double ____wcstold_l_internal (const wchar_t *, wchar_t **, int,
- __locale_t);
-
-#include <strtold_l.c>
diff --git a/wcsmbs/wcstold_nan.c b/wcsmbs/wcstold_nan.c
deleted file mode 100644
index 726620b5f4..0000000000
--- a/wcsmbs/wcstold_nan.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Convert string for NaN payload to corresponding NaN. Wide strings,
- long double.
- Copyright (C) 2015-2017 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
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <math.h>
-
-/* This function is unused if long double and double have the same
- representation. */
-#ifndef __NO_LONG_DOUBLE_MATH
-# include "../stdlib/strtod_nan_wide.h"
-# include <strtod_nan_ldouble.h>
-
-# define STRTOD_NAN __wcstold_nan
-# include "../stdlib/strtod_nan_main.c"
-#endif
diff --git a/wcsmbs/wcstoll.c b/wcsmbs/wcstoll.c
deleted file mode 100644
index 493519b205..0000000000
--- a/wcsmbs/wcstoll.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Function to parse a `long long int' from text.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define QUAD 1
-
-#include "wcstol.c"
-
-weak_alias (wcstoll, wcstoq)
diff --git a/wcsmbs/wcstoll_l.c b/wcsmbs/wcstoll_l.c
deleted file mode 100644
index 225153f547..0000000000
--- a/wcsmbs/wcstoll_l.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Convert string representing a number to integer value, using given locale.
- Copyright (C) 1997-2017 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __need_wchar_t
-#include <stddef.h>
-#include <locale.h>
-
-#define QUAD 1
-
-extern long long int ____wcstoll_l_internal (const wchar_t *, wchar_t **,
- int, int, __locale_t);
-
-#include <wcstol_l.c>
diff --git a/wcsmbs/wcstoul.c b/wcsmbs/wcstoul.c
deleted file mode 100644
index 708ea8f3c9..0000000000
--- a/wcsmbs/wcstoul.c
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Function to parse an `unsigned long int' from text.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define UNSIGNED 1
-
-#include "wcstol.c"
diff --git a/wcsmbs/wcstoul_l.c b/wcsmbs/wcstoul_l.c
deleted file mode 100644
index 0847284bc2..0000000000
--- a/wcsmbs/wcstoul_l.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Convert string representing a number to integer value, using given locale.
- Copyright (C) 1997-2017 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __need_wchar_t
-#include <stddef.h>
-#include <locale.h>
-
-#define UNSIGNED 1
-
-extern unsigned long int ____wcstoul_l_internal (const wchar_t *, wchar_t **,
- int, int, __locale_t);
-
-#include "wcstol_l.c"
diff --git a/wcsmbs/wcstoull.c b/wcsmbs/wcstoull.c
deleted file mode 100644
index 5d96389e7d..0000000000
--- a/wcsmbs/wcstoull.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Function to parse an `unsigned long long int' from text.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define QUAD 1
-
-#include "wcstoul.c"
-
-weak_alias (wcstoull, wcstouq)
diff --git a/wcsmbs/wcstoull_l.c b/wcsmbs/wcstoull_l.c
deleted file mode 100644
index 532d01a250..0000000000
--- a/wcsmbs/wcstoull_l.c
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Convert string representing a number to integer value, using given locale.
- Copyright (C) 1997-2017 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 Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#define __need_wchar_t
-#include <stddef.h>
-#include <locale.h>
-
-#define UNSIGNED 1
-
-extern unsigned long long int ____wcstoull_l_internal (const wchar_t *,
- wchar_t **, int, int,
- __locale_t);
-
-#include <wcstoll_l.c>
diff --git a/wcsmbs/wcswidth.c b/wcsmbs/wcswidth.c
deleted file mode 100644
index 6e4a1d9f95..0000000000
--- a/wcsmbs/wcswidth.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "wcwidth.h"
-
-/* Determine number of column positions required for first N wide
- characters (or fewer if S ends before this) in S. */
-int
-wcswidth (const wchar_t *s, size_t n)
-{
- int result = 0;
-
- while (n-- > 0 && *s != L'\0')
- {
- int now = internal_wcwidth (*s);
- if (now == -1)
- return -1;
- result += now;
- ++s;
- }
-
- return result;
-}
diff --git a/wcsmbs/wcsxfrm.c b/wcsmbs/wcsxfrm.c
deleted file mode 100644
index fa14ddf706..0000000000
--- a/wcsmbs/wcsxfrm.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include "../locale/coll-lookup.h"
-
-#define STRING_TYPE wchar_t
-#define STRXFRM wcsxfrm
-#define STRXFRM_L __wcsxfrm_l
-
-#include "../string/strxfrm.c"
diff --git a/wcsmbs/wcsxfrm_l.c b/wcsmbs/wcsxfrm_l.c
deleted file mode 100644
index 5899cc64cc..0000000000
--- a/wcsmbs/wcsxfrm_l.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include "../locale/coll-lookup.h"
-
-#define STRING_TYPE wchar_t
-#define USTRING_TYPE wint_t
-#define STRXFRM __wcsxfrm_l
-#define STRLEN __wcslen
-#define STPNCPY __wcpncpy
-#define WEIGHT_H "../locale/weightwc.h"
-#define SUFFIX WC
-#define L(arg) L##arg
-#define WIDE_CHAR_VERSION 1
-
-#include "../string/strxfrm_l.c"
-
-weak_alias (__wcsxfrm_l, wcsxfrm_l)
diff --git a/wcsmbs/wctob.c b/wcsmbs/wctob.c
deleted file mode 100644
index 6a4fb86ac4..0000000000
--- a/wcsmbs/wctob.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <dlfcn.h>
-#include <gconv.h>
-#include <stdio.h>
-#include <string.h>
-#include <wchar.h>
-#include <wcsmbsload.h>
-
-#include <sysdep.h>
-
-
-int
-wctob (wint_t c)
-{
- unsigned char buf[MB_LEN_MAX];
- struct __gconv_step_data data;
- wchar_t inbuf[1];
- wchar_t *inptr = inbuf;
- size_t dummy;
- int status;
- const struct gconv_fcts *fcts;
-
- if (c == WEOF)
- return EOF;
-
- /* We know that only ASCII compatible encodings are used for the
- locale and that the wide character encoding is ISO 10646. */
- if (c >= L'\0' && c <= L'\x7f')
- return (int) c;
-
- /* Tell where we want the result. */
- data.__outbuf = buf;
- data.__outbufend = buf + MB_LEN_MAX;
- data.__invocation_counter = 0;
- data.__internal_use = 1;
- data.__flags = __GCONV_IS_LAST;
- data.__statep = &data.__state;
-
- /* Make sure we start in the initial state. */
- memset (&data.__state, '\0', sizeof (mbstate_t));
-
- /* Get the conversion functions. */
- fcts = get_gconv_fcts (_NL_CURRENT_DATA (LC_CTYPE));
-
- /* Create the input string. */
- inbuf[0] = c;
-
- const unsigned char *argptr = (const unsigned char *) inptr;
- __gconv_fct fct = fcts->tomb->__fct;
-#ifdef PTR_DEMANGLE
- if (fcts->tomb->__shlib_handle != NULL)
- PTR_DEMANGLE (fct);
-#endif
- status = DL_CALL_FCT (fct,
- (fcts->tomb, &data, &argptr,
- argptr + sizeof (inbuf[0]), NULL, &dummy, 0, 1));
-
- /* The conversion failed or the output is too long. */
- if ((status != __GCONV_OK && status != __GCONV_FULL_OUTPUT
- && status != __GCONV_EMPTY_INPUT)
- || data.__outbuf != (unsigned char *) (buf + 1))
- return EOF;
-
- return buf[0];
-}
diff --git a/wcsmbs/wcwidth.c b/wcsmbs/wcwidth.c
deleted file mode 100644
index d695186437..0000000000
--- a/wcsmbs/wcwidth.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include "wcwidth.h"
-
-/* Determine number of column positions required for CH. */
-int
-wcwidth (wchar_t ch)
-{
- return internal_wcwidth (ch);
-}
diff --git a/wcsmbs/wcwidth.h b/wcsmbs/wcwidth.h
deleted file mode 100644
index 1d2c7b084c..0000000000
--- a/wcsmbs/wcwidth.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Internal header containing implementation of wcwidth() function.
- Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include <wctype.h>
-#include "../wctype/wchar-lookup.h"
-#include "../locale/localeinfo.h"
-
-/* Table containing width information. */
-extern const char *__ctype32_width attribute_hidden;
-
-static __inline int
-internal_wcwidth (wchar_t wc)
-{
- unsigned char res;
-
- /* The tables have been prepared in such a way that
- 1. wc == L'\0' yields res = 0,
- 2. !iswprint (wc) implies res = '\xff'. */
- res = wcwidth_table_lookup (_NL_CURRENT (LC_CTYPE, _NL_CTYPE_WIDTH), wc);
-
- return res == (unsigned char) '\xff' ? -1 : (int) res;
-}
diff --git a/wcsmbs/wmemchr.c b/wcsmbs/wmemchr.c
deleted file mode 100644
index 2a80f91d52..0000000000
--- a/wcsmbs/wmemchr.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WMEMCHR
-# define __wmemchr WMEMCHR
-#endif
-
-wchar_t *
-__wmemchr (const wchar_t *s, wchar_t c, size_t n)
-{
- /* For performance reasons unfold the loop four times. */
- while (n >= 4)
- {
- if (s[0] == c)
- return (wchar_t *) s;
- if (s[1] == c)
- return (wchar_t *) &s[1];
- if (s[2] == c)
- return (wchar_t *) &s[2];
- if (s[3] == c)
- return (wchar_t *) &s[3];
- s += 4;
- n -= 4;
- }
-
- if (n > 0)
- {
- if (*s == c)
- return (wchar_t *) s;
- ++s;
- --n;
- }
- if (n > 0)
- {
- if (*s == c)
- return (wchar_t *) s;
- ++s;
- --n;
- }
- if (n > 0)
- if (*s == c)
- return (wchar_t *) s;
-
- return NULL;
-}
-libc_hidden_def (__wmemchr)
-weak_alias (__wmemchr, wmemchr)
-libc_hidden_weak (wmemchr)
diff --git a/wcsmbs/wmemcmp.c b/wcsmbs/wmemcmp.c
deleted file mode 100644
index ee0724cf2b..0000000000
--- a/wcsmbs/wmemcmp.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifndef WMEMCMP
-# define WMEMCMP wmemcmp
-#endif
-
-int
-WMEMCMP (const wchar_t *s1, const wchar_t *s2, size_t n)
-{
- wchar_t c1;
- wchar_t c2;
-
- while (n >= 4)
- {
- c1 = s1[0];
- c2 = s2[0];
- if (c1 - c2 != 0)
- return c1 > c2 ? 1 : -1;
- c1 = s1[1];
- c2 = s2[1];
- if (c1 - c2 != 0)
- return c1 > c2 ? 1 : -1;
- c1 = s1[2];
- c2 = s2[2];
- if (c1 - c2 != 0)
- return c1 > c2 ? 1 : -1;
- c1 = s1[3];
- c2 = s2[3];
- if (c1 - c2 != 0)
- return c1 > c2 ? 1 : -1;
- s1 += 4;
- s2 += 4;
- n -= 4;
- }
-
- if (n > 0)
- {
- c1 = s1[0];
- c2 = s2[0];
- if (c1 - c2 != 0)
- return c1 > c2 ? 1 : -1;
- ++s1;
- ++s2;
- --n;
- }
- if (n > 0)
- {
- c1 = s1[0];
- c2 = s2[0];
- if (c1 - c2 != 0)
- return c1 > c2 ? 1 : -1;
- ++s1;
- ++s2;
- --n;
- }
- if (n > 0)
- {
- c1 = s1[0];
- c2 = s2[0];
- if (c1 - c2 != 0)
- return c1 > c2 ? 1 : -1;
- }
-
- return 0;
-}
diff --git a/wcsmbs/wmemcpy.c b/wcsmbs/wmemcpy.c
deleted file mode 100644
index f44d0fdbef..0000000000
--- a/wcsmbs/wmemcpy.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include <string.h>
-
-
-wchar_t *
-__wmemcpy (wchar_t *s1, const wchar_t *s2, size_t n)
-{
- return (wchar_t *) memcpy ((char *) s1, (char *) s2, n * sizeof (wchar_t));
-}
-weak_alias (__wmemcpy, wmemcpy)
diff --git a/wcsmbs/wmemmove.c b/wcsmbs/wmemmove.c
deleted file mode 100644
index 5d711ec14b..0000000000
--- a/wcsmbs/wmemmove.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include <string.h>
-
-
-wchar_t *
-__wmemmove (wchar_t *s1, const wchar_t *s2, size_t n)
-{
- return (wchar_t *) memmove ((char *) s1, (char *) s2, n * sizeof (wchar_t));
-}
-weak_alias (__wmemmove, wmemmove)
diff --git a/wcsmbs/wmempcpy.c b/wcsmbs/wmempcpy.c
deleted file mode 100644
index c3b65de557..0000000000
--- a/wcsmbs/wmempcpy.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1999-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@gnu.org>, 1999.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-#include <string.h>
-
-
-wchar_t *
-__wmempcpy (wchar_t *s1, const wchar_t *s2, size_t n)
-{
- return (wchar_t *) __mempcpy ((char *) s1, (char *) s2,
- n * sizeof (wchar_t));
-}
-weak_alias (__wmempcpy, wmempcpy)
diff --git a/wcsmbs/wmemset.c b/wcsmbs/wmemset.c
deleted file mode 100644
index d79b95b47e..0000000000
--- a/wcsmbs/wmemset.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright (C) 1996-2017 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- 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
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <wchar.h>
-
-#ifdef WMEMSET
-# define __wmemset WMEMSET
-#endif
-
-wchar_t *
-__wmemset (wchar_t *s, wchar_t c, size_t n)
-{
- wchar_t *wp = s;
-
- while (n >= 4)
- {
- wp[0] = c;
- wp[1] = c;
- wp[2] = c;
- wp[3] = c;
- wp += 4;
- n -= 4;
- }
-
- if (n > 0)
- {
- wp[0] = c;
-
- if (n > 1)
- {
- wp[1] = c;
-
- if (n > 2)
- wp[2] = c;
- }
- }
-
- return s;
-}
-libc_hidden_def (__wmemset)
-weak_alias (__wmemset, wmemset)
-libc_hidden_weak (wmemset)