about summary refs log tree commit diff
path: root/wcsmbs
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-04-03 16:31:49 +0000
committerRoland McGrath <roland@gnu.org>1996-04-03 16:31:49 +0000
commit299a95b9f048679f1288512b0a6ab6ca16dd9d7c (patch)
tree4788a62ee8f131887e5817e8daa3339084dbe764 /wcsmbs
parent30de3b18a526acc837957865129b7fa6d8ac91d1 (diff)
downloadglibc-299a95b9f048679f1288512b0a6ab6ca16dd9d7c.tar.gz
glibc-299a95b9f048679f1288512b0a6ab6ca16dd9d7c.tar.xz
glibc-299a95b9f048679f1288512b0a6ab6ca16dd9d7c.zip
Tue Apr 2 21:27:01 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
	* posix/glob.c (glob_pattern_p): Avoid scanning past eos if
	the pattern ends with a backslash and quoting is enabled.
	* posix/fnmatch.c (fnmatch): Likewise; return FNM_NOMATCH for such
 	patterns.
Diffstat (limited to 'wcsmbs')
-rw-r--r--wcsmbs/Makefile11
-rw-r--r--wcsmbs/mbsadvance.c38
-rw-r--r--wcsmbs/mbscat.c56
-rw-r--r--wcsmbs/mbschr.c60
-rw-r--r--wcsmbs/mbscpy.c47
-rw-r--r--wcsmbs/mbsdup.c51
-rw-r--r--wcsmbs/mbslen.c45
-rw-r--r--wcsmbs/mbsncat.c61
-rw-r--r--wcsmbs/mbsncmp.c68
-rw-r--r--wcsmbs/mbsncpy.c55
-rw-r--r--wcsmbs/mbsrchr.c61
-rw-r--r--wcsmbs/mbstomb.c42
-rw-r--r--wcsmbs/mbstr.h69
-rw-r--r--wcsmbs/wcscat.c9
-rw-r--r--wcsmbs/wcschr.c8
-rw-r--r--wcsmbs/wcscmp.c11
-rw-r--r--wcsmbs/wcscpy.c9
-rw-r--r--wcsmbs/wcscspn.c9
-rw-r--r--wcsmbs/wcsdup.c7
-rw-r--r--wcsmbs/wcslen.c7
-rw-r--r--wcsmbs/wcsncat.c11
-rw-r--r--wcsmbs/wcsncmp.c11
-rw-r--r--wcsmbs/wcsncpy.c13
-rw-r--r--wcsmbs/wcspbrk.c9
-rw-r--r--wcsmbs/wcsrchr.c9
-rw-r--r--wcsmbs/wcsspn.c9
-rw-r--r--wcsmbs/wcstok.c43
-rw-r--r--wcsmbs/wcstr.h84
-rw-r--r--wcsmbs/wcswcs.c97
29 files changed, 90 insertions, 920 deletions
diff --git a/wcsmbs/Makefile b/wcsmbs/Makefile
index 6d75c7b01f..99d9dd5010 100644
--- a/wcsmbs/Makefile
+++ b/wcsmbs/Makefile
@@ -21,11 +21,12 @@
 #
 subdir	:= wcsmbs
 
-headers	:= wcstr.h mbstr.h
+headers	:= wchar.h
 
-routines := mbsadvance mbscat mbschr mbscmp mbscpy mbsdup mbslen	\
-	    mbsncat mbsncmp mbsncpy mbsrchr mbstomb wcscat wcschr wcscmp\
-	    wcscpy wcscspn wcsdup wcslen wcsncat wcsncmp wcsncpy wcspbrk\
-	    wcsrchr wcsspn wcstok wcswcs
+routines := wcscat wcschr wcscmp wcscpy wcscspn wcsdup wcslen wcsncat \
+	    wcsncmp wcsncpy wcspbrk wcsrchr wcsspn wcstok wcsstr wmemchr \
+	    wmemcmp wmemcpy wmemmove wmemset \
+	    btowc wctob mbsinit \
+	    mbrlen mbrtowc wcrtomb mbsrtowcs wcsrtombs
 
 include ../Rules
diff --git a/wcsmbs/mbsadvance.c b/wcsmbs/mbsadvance.c
deleted file mode 100644
index b6649935d7..0000000000
--- a/wcsmbs/mbsadvance.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-
-/* Advance pointer to multibyte string by one character.  */
-char *
-mbsadvance (mbs)
-    const char *mbs;
-{
-  int clen;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  clen = mblen (mbs, MB_CUR_MAX);
-
-  /* FIXME: when current character is illegal return same character.  */
-  return clen <= 0 ? (char *) mbs : (char *) (mbs + clen);
-}
-
diff --git a/wcsmbs/mbscat.c b/wcsmbs/mbscat.c
deleted file mode 100644
index 324cad9cc8..0000000000
--- a/wcsmbs/mbscat.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-
-/* Append SRC onto DEST.  */
-char *
-mbscat (dest, src)
-    char *dest;
-    const char *src;
-{
-  const char * const d = dest;
-  size_t len = 0;
-  int clen = 0;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  do
-    {
-      dest += clen;
-      clen = mblen (dest, MB_CUR_MAX);
-    }
-  while (clen > 0);
-
-  clen = 0;
-  do
-    {
-      len += clen;
-      clen = mblen (&src[len], MB_CUR_MAX);
-    }
-  while (clen > 0);
-
-  (void) memcpy ((void *) dest, (void *) src, len);
-  dest[len] = '\0';	    /* '\0' is the multibyte representation of L'\0' */
-
-  return (char *) d;
-}
-
diff --git a/wcsmbs/mbschr.c b/wcsmbs/mbschr.c
deleted file mode 100644
index f8a7d21857..0000000000
--- a/wcsmbs/mbschr.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-#define __need_wchar_t
-#include <stddef.h>
-
-
-/* Find the first occurence of MBC in MBS.  */
-char *
-mbschr (mbs, mbc)
-    const char *mbs;
-    mbchar_t mbc;
-{
-  int clen;
-  wchar_t wc;
-  wchar_t c;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  clen = mbtowc (&wc, (char *) &mbc, MB_CUR_MAX);
-  if (clen < 0)
-    /* FIXME: search character is illegal.  */
-    return NULL;
-  else if (clen == 0)
-    wc = L'\0';
-
-  clen = 0;
-  do
-    {
-      mbs += clen;
-      clen = mbtowc (&c, mbs, MB_CUR_MAX);
-    }
-  while (clen > 0 && c != wc);
-
-  if (clen < 0 || (clen == 0 && wc != L'\0'))
-    /* FIXME: clen < 0 means illegal character in string.  */
-    return NULL;
-
-  return (char *) mbs;
-}
-
diff --git a/wcsmbs/mbscpy.c b/wcsmbs/mbscpy.c
deleted file mode 100644
index 8f354ceede..0000000000
--- a/wcsmbs/mbscpy.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-
-/* Copy SRC to DEST.  */
-char *
-mbscpy (dest, src)
-    char *dest;
-    const char *src;
-{
-  size_t len = 0;
-  int clen = 0;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  do
-    {
-      len += clen;
-      clen = mblen (&src[len], MB_CUR_MAX);
-    }
-  while (clen > 0);
-
-  (void) memcpy ((void *) dest, (void *) src, len);
-  dest[len] = '\0';	    /* '\0' is the multibyte representation of L'\0' */
-
-  return dest;
-}
-
diff --git a/wcsmbs/mbsdup.c b/wcsmbs/mbsdup.c
deleted file mode 100644
index 2d196dd06d..0000000000
--- a/wcsmbs/mbsdup.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-
-/* Duplicate MBS, returning an identical malloc'd string.  */
-char *
-mbsdup (mbs)
-    const char *mbs;
-{
-  size_t len = 0;
-  int clen = 0;
-  char *retval;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  do
-    {
-      len += clen;
-      clen = mblen (&mbs[len], MB_CUR_MAX);
-    }
-  while (clen > 0);
-
-  retval = (char *) malloc (len + 1);
-  if (retval != NULL)
-    {
-      (void) memcpy ((void *) retval, (void *) mbs, len);
-      retval[len] = '\0';   /* '\0' is the multibyte representation of L'\0' */
-    }
-
-  return retval;
-}
-
diff --git a/wcsmbs/mbslen.c b/wcsmbs/mbslen.c
deleted file mode 100644
index f8077d0fb9..0000000000
--- a/wcsmbs/mbslen.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-
-/* Return the length of MBS.  */
-size_t
-mbslen (mbs)
-    const char *mbs;
-{
-  size_t len = 0;
-  int clen = 0;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  do
-    {
-      len += clen;
-      clen = mblen (&mbs[len], MB_CUR_MAX);
-    }
-  while (clen > 0);
-
-  /* FIXME: if string contains an illegal character the length upto this
-     character is returned.  */
-  return len;
-}
-
diff --git a/wcsmbs/mbsncat.c b/wcsmbs/mbsncat.c
deleted file mode 100644
index 3dd4df1c70..0000000000
--- a/wcsmbs/mbsncat.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-
-/* Append no more than N multi-byte characters from SRC onto DEST.  */
-char *
-mbsncat (dest, src, n)
-    char *dest;
-    const char *src;
-    size_t n;
-{
-  const char * const d = dest;
-  const char * const s = src;
-  size_t len = 0;
-  int clen = 0;
-
-  if (n == 0)
-    return (char *) d;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  do
-    {
-      dest += clen;
-      clen = mblen (dest, MB_CUR_MAX);
-    }
-  while (clen > 0);
-
-  clen = 0;
-  do
-    {
-      src += clen;
-      clen = mblen (src, MB_CUR_MAX);
-    }
-  while (clen > 0 && ++len < n);
-
-  (void) memcpy ((void *) dest, (void *) s, src - s);
-  dest[src - s] = '\0';	    /* '\0' is the multibyte representation of L'\0' */
-
-  return (char *) d;
-}
-
diff --git a/wcsmbs/mbsncmp.c b/wcsmbs/mbsncmp.c
deleted file mode 100644
index 43fb527afb..0000000000
--- a/wcsmbs/mbsncmp.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-#define __need_wchar_t
-/* FIXME: should be defined in stddef.h.
-!!! #define __need_uwchar_t  */
-typedef unsigned int uwchar_t;
-#include <stddef.h>
-
-
-/* Compare N characters of MBS1 and MBS2.  */
-int
-mbsncmp (mbs1, mbs2, n)
-    const char *mbs1;
-    const char *mbs2;
-    size_t n;
-{
-  size_t len = 0;
-  int clen1 = 0;
-  int clen2 = 0;
-  uwchar_t c1;
-  uwchar_t c2;
-
-  if (n == 0)
-    return 0;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  do
-    {
-      clen1 = mbtowc ((wchar_t *) &c1, mbs1, MB_CUR_MAX);
-      clen2 = mbtowc ((wchar_t *) &c2, mbs2, MB_CUR_MAX);
-
-      if (clen1 == 0)
-	return clen2 == 0 ? 0 : -1;
-      if (clen2 == 0)
-	return 1;
-      if (clen1 < 0 || clen2 < 0)
-	/* FIXME: an illegal character appears.	 What to do?  */
-	return c1 - c2;
-
-      mbs1 += clen1;
-      mbs2 += clen2;
-    }
-  while (c1 == c2 && ++len < n);
-
-  return len < n ? c1 - c2 : 0;
-}
-
diff --git a/wcsmbs/mbsncpy.c b/wcsmbs/mbsncpy.c
deleted file mode 100644
index 09aecefd03..0000000000
--- a/wcsmbs/mbsncpy.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-
-/* Copy no more than N characters of SRC to DEST.  */
-char *
-mbsncpy (dest, src, n)
-    char *dest;
-    const char *src;
-    size_t n;
-{
-  const char * const s = src;
-  size_t len = 0;
-  int clen = 0;
-
-  if (n == 0)
-    {
-      dest[0] = '\0';	    /* '\0' is the multibyte representation of L'\0' */
-      return dest;
-    }
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  do
-    {
-      src += clen;
-      clen = mblen (src, MB_CUR_MAX);
-    }
-  while (clen > 0 && ++len < n);
-
-  (void) memcpy ((void *) dest, (void *) s, src - s);
-  dest[src - s] = '\0';	    /* '\0' is the multibyte representation of L'\0' */
-
-  return dest;
-}
-
diff --git a/wcsmbs/mbsrchr.c b/wcsmbs/mbsrchr.c
deleted file mode 100644
index 62fa219dd2..0000000000
--- a/wcsmbs/mbsrchr.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-#define __need_wchar_t
-#include <stddef.h>
-
-
-/* Find the last occurence of MBC in MBS.  */
-char *
-mbsrchr (mbs, mbc)
-    const char *mbs;
-    mbchar_t mbc;
-{
-  const char * retval = NULL;
-  int clen;
-  wchar_t wc;
-  wchar_t c;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  clen = mbtowc (&wc, (char *) &mbc, MB_CUR_MAX);
-  if (clen < 0)
-    /* FIXME: search character MBC is illegal.	*/
-    return NULL;
-  else if (clen == 0)
-    wc = L'\0';
-
-  clen = 0;
-  do
-    {
-      mbs += clen;
-      clen = mbtowc (&c, mbs, MB_CUR_MAX);
-    }
-  while (clen > 0 && c != wc);
-
-  if (clen < 0)
-    /* FIXME: clen < 0 means illegal character in string.  */
-    return NULL;
-
-  return (char *) (clen > 0 || (clen == 0 && wc == L'\0') ? mbs : retval);
-}
-
diff --git a/wcsmbs/mbstomb.c b/wcsmbs/mbstomb.c
deleted file mode 100644
index f593ced3cb..0000000000
--- a/wcsmbs/mbstomb.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#include <mbstr.h>
-#include <stdlib.h>
-
-
-/* Advance pointer to multibyte string by one character.  */
-mbchar_t
-mbstomb (mbs)
-    const char *mbs;
-{
-  mbchar_t retval = 0;
-  int clen;
-
-  /* Reset multibyte characters to their initial state.	 */
-  (void) mblen ((char *) NULL, 0);
-
-  clen = mblen (mbs, MB_CUR_MAX);
-
-  if (clen > 0)
-    (void) memcpy (&retval, mbs, clen);
-
-  /* FIXME: when current character is illegal return '\0'.  */
-  return retval;
-}
-
diff --git a/wcsmbs/mbstr.h b/wcsmbs/mbstr.h
deleted file mode 100644
index 7cb94bf85b..0000000000
--- a/wcsmbs/mbstr.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the, Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#ifndef _MBSTRING_H
-
-#define _MBSTRING_H 1
-#include <features.h>
-#include <limits.h>
-
-#define __need_size_t
-#include <stddef.h>
-
-__BEGIN_DECLS
-
-/* This data type should be large enough to contain MB_CUR_MAX bytes.  */
-typedef unsigned int mbchar_t;
-
-
-/* Copy SRC to DEST.  */
-extern char *mbscpy __P ((char *__dest, __const char *__src));
-/* Copy no more than N multi-byte characters of SRC to DEST.  */
-extern char *mbsncpy __P ((char *__dest, __const char *__src, size_t __n));
-
-/* Append SRC onto DEST.  */
-extern char *mbscat __P ((char *__dest, __const char *__src));
-/* Append no more than N characters from SRC onto DEST.  */
-extern char *mbsncat __P ((char *__dest, __const char *__src, size_t __n));
-
-/* Compare S1 and S2.  */
-extern int mbscmp __P ((__const char *__s1, __const char *__s2));
-/* Compare N characters of S1 and S2.  */
-extern int mbsncmp __P ((__const char *__s1, __const char *__s2, size_t __n));
-
-/* Duplicate MBS, returning an identical malloc'd string.  */
-extern char *mbsdup __P ((__const char *__s));
-
-/* Find the first occurence of MBC in MBS.  */
-extern char *mbschr __P ((__const char *__mbs, mbchar_t mbc));
-/* Find the last occurence of MBC in MBS.  */
-extern char *mbsrchr __P ((__const char *__mbs, mbchar_t mbc));
-
-/* Return the length of MBS.  */
-extern size_t mbslen __P ((__const char *__mbs));
-
-
-/* Advance pointer to multibyte string by one character.  */
-extern char *mbsadvance __P ((__const char *__mbs));
-
-/* Return first character in MBS.  */
-extern mbchar_t mbstomb __P ((__const char *__mbs));
-
-__END_DECLS
-
-#endif /* mbstring.h */
diff --git a/wcsmbs/wcscat.c b/wcsmbs/wcscat.c
index 4ff5c861e4..e142806fae 100644
--- a/wcsmbs/wcscat.c
+++ b/wcsmbs/wcscat.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,14 +17,14 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Append SRC on the end of DEST.  */
 wchar_t *
 wcscat (dest, src)
-    wchar_t *dest;
-    const wchar_t *src;
+     wchar_t *dest;
+     const wchar_t *src;
 {
   register wchar_t *s1 = dest;
   register const wchar_t *s2 = src;
diff --git a/wcsmbs/wcschr.c b/wcsmbs/wcschr.c
index 85a1801839..64af0bf456 100644
--- a/wcsmbs/wcschr.c
+++ b/wcsmbs/wcschr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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
@@ -16,14 +16,14 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Find the first ocurrence of WC in WCS.  */
 wchar_t *
 wcschr (wcs, wc)
-    register const wchar_t *wcs;
-    register const wchar_t wc;
+     register const wchar_t *wcs;
+     register const wchar_t wc;
 {
   while (*wcs != L'\0')
     if (*wcs == wc)
diff --git a/wcsmbs/wcscmp.c b/wcsmbs/wcscmp.c
index 84ecae8553..08da116787 100644
--- a/wcsmbs/wcscmp.c
+++ b/wcsmbs/wcscmp.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,16 +17,16 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Compare S1 and S2, returning less than, equal to or
-   greater than zero if S1 is lexiographically less than,
+   greater than zero if S1 is lexicographically less than,
    equal to or greater than S2.	 */
 int
 wcscmp (s1, s2)
-    const wchar_t *s1;
-    const wchar_t *s2;
+     const wchar_t *s1;
+     const wchar_t *s2;
 {
   uwchar_t c1, c2;
 
diff --git a/wcsmbs/wcscpy.c b/wcsmbs/wcscpy.c
index a45747edf1..3aa897ec7f 100644
--- a/wcsmbs/wcscpy.c
+++ b/wcsmbs/wcscpy.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,7 +17,7 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 #define __need_ptrdiff_t
 #include <stddef.h>
@@ -25,8 +26,8 @@ Cambridge, MA 02139, USA.  */
 /* Copy SRC to DEST.  */
 wchar_t *
 wcscpy (dest, src)
-    wchar_t *dest;
-    const wchar_t *src;
+     wchar_t *dest;
+     const wchar_t *src;
 {
   wchar_t *wcp = (wchar_t *) src;
   wchar_t c;
diff --git a/wcsmbs/wcscspn.c b/wcsmbs/wcscspn.c
index 0dc4d9bc9e..7ab8f278fd 100644
--- a/wcsmbs/wcscspn.c
+++ b/wcsmbs/wcscspn.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,15 +17,15 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Return the length of the maximum initial segment
    of WCS which contains only wide-characters not in REJECT.  */
 size_t
 wcscspn (wcs, reject)
-    const wchar_t *wcs;
-    const wchar_t *reject;
+     const wchar_t *wcs;
+     const wchar_t *reject;
 {
   register size_t count = 0;
 
diff --git a/wcsmbs/wcsdup.c b/wcsmbs/wcsdup.c
index 62c64621de..c24ba96f88 100644
--- a/wcsmbs/wcsdup.c
+++ b/wcsmbs/wcsdup.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,7 +17,7 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 #include <string.h>
 #include <stdlib.h>
 
@@ -24,7 +25,7 @@ Cambridge, MA 02139, USA.  */
 /* Duplicate S, returning an identical malloc'd string.	 */
 wchar_t *
 wcsdup (s)
-    const wchar_t *s;
+     const wchar_t *s;
 {
   size_t len = (wcslen (s) + 1) * sizeof (wchar_t);
   void *new = malloc (len);
diff --git a/wcsmbs/wcslen.c b/wcsmbs/wcslen.c
index 2907cb3cc4..1ce365f8c4 100644
--- a/wcsmbs/wcslen.c
+++ b/wcsmbs/wcslen.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,13 +17,13 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Copy SRC to DEST.  */
 size_t
 wcslen (s)
-    const wchar_t *s;
+     const wchar_t *s;
 {
   size_t len = 0;
 
diff --git a/wcsmbs/wcsncat.c b/wcsmbs/wcsncat.c
index 7851d7048d..48d54603d6 100644
--- a/wcsmbs/wcsncat.c
+++ b/wcsmbs/wcsncat.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,15 +17,15 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Append no more than N wide-character of SRC onto DEST.  */
 wchar_t *
 wcsncat (dest, src, n)
-      wchar_t *dest;
-      const wchar_t *src;
-      size_t n;
+     wchar_t *dest;
+     const wchar_t *src;
+     size_t n;
 {
   wchar_t c;
   wchar_t * const s = dest;
diff --git a/wcsmbs/wcsncmp.c b/wcsmbs/wcsncmp.c
index 9f1829bc5d..3df6bfc151 100644
--- a/wcsmbs/wcsncmp.c
+++ b/wcsmbs/wcsncmp.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,7 +17,7 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Compare no more than N characters of S1 and S2,
@@ -25,9 +26,9 @@ Cambridge, MA 02139, USA.  */
    greater than S2.  */
 int
 wcsncmp (s1, s2, n)
-      const wchar_t *s1;
-      const wchar_t *s2;
-      size_t n;
+     const wchar_t *s1;
+     const wchar_t *s2;
+     size_t n;
 {
   uwchar_t c1 = L'\0';
   uwchar_t c2 = L'\0';
diff --git a/wcsmbs/wcsncpy.c b/wcsmbs/wcsncpy.c
index 740c71ecf8..180da794d7 100644
--- a/wcsmbs/wcsncpy.c
+++ b/wcsmbs/wcsncpy.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,18 +17,18 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Copy no more than N wide-characters of SRC to DEST.	*/
 wchar_t *
 wcsncpy (dest, src, n)
-      wchar_t *dest;
-      const wchar_t *src;
-      size_t n;
+     wchar_t *dest;
+     const wchar_t *src;
+     size_t n;
 {
   wchar_t c;
-  wchar_t * const s = dest;
+  wchar_t *const s = dest;
 
   --dest;
 
diff --git a/wcsmbs/wcspbrk.c b/wcsmbs/wcspbrk.c
index 83892bacb0..91c5573722 100644
--- a/wcsmbs/wcspbrk.c
+++ b/wcsmbs/wcspbrk.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,14 +17,14 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Find the first ocurrence in WCS of any wide-character in ACCEPT.  */
 wchar_t *
 wcspbrk (wcs, accept)
-      register const wchar_t *wcs;
-      register const wchar_t *accept;
+     register const wchar_t *wcs;
+     register const wchar_t *accept;
 {
   while (*wcs != L'\0')
     if (wcschr (accept, *wcs) == NULL)
diff --git a/wcsmbs/wcsrchr.c b/wcsmbs/wcsrchr.c
index 87823b3709..ae31dc4104 100644
--- a/wcsmbs/wcsrchr.c
+++ b/wcsmbs/wcsrchr.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,14 +17,14 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Find the last ocurrence of WC in WCS.  */
 wchar_t *
 wcsrchr (wcs, wc)
-    register const wchar_t *wcs;
-    register const wchar_t wc;
+     register const wchar_t *wcs;
+     register const wchar_t wc;
 {
   const wchar_t *retval = NULL;
 
diff --git a/wcsmbs/wcsspn.c b/wcsmbs/wcsspn.c
index 81a557c7b7..158e35ee97 100644
--- a/wcsmbs/wcsspn.c
+++ b/wcsmbs/wcsspn.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,15 +17,15 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 
 
 /* Return the length of the maximum initial segment
    of WCS which contains only wide-characters in ACCEPT.  */
 size_t
 wcsspn (wcs, accept)
-    const wchar_t *wcs;
-    const wchar_t *accept;
+     const wchar_t *wcs;
+     const wchar_t *accept;
 {
   register const wchar_t *p;
   register const wchar_t *a;
diff --git a/wcsmbs/wcstok.c b/wcsmbs/wcstok.c
index 191bbd5960..376fe7bfcb 100644
--- a/wcsmbs/wcstok.c
+++ b/wcsmbs/wcstok.c
@@ -1,5 +1,6 @@
-/* Copyright (C) 1995 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996 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 Library General Public License as
@@ -16,52 +17,42 @@ License along with the GNU C Library; see the file COPYING.LIB.	 If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
-#include <wcstr.h>
+#include <wchar.h>
 #include <errno.h>
 
 
-static wchar_t *olds = NULL;
-
-/* Parse WCS into tokens separated by characters in DELIM.
-   If WCS is NULL, the last string wcstok() was called with is
-   used.  */
+/* 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 (wcs, delim)
-    register wchar_t *wcs;
-    register const wchar_t *delim;
+wcstok (wcs, delim, ptr)
+     register wchar_t *wcs;
+     register const wchar_t *delim;
+     register wchar_t **ptr;
 {
-  wchar_t *token;
+  wchar_t *result;
 
   if (wcs == NULL)
-    {
-      if (olds == NULL)
-	{
-	  errno = EINVAL;
-	  return NULL;
-	}
-      else
-	wcs = olds;
-    }
+    wcs = *ptr;
 
   /* Scan leading delimiters.  */
   wcs += wcsspn (wcs, delim);
   if (*wcs == L'\0')
     {
-      olds = NULL;
+      *ptr = NULL;
       return NULL;
     }
 
   /* Find the end of the token.	 */
-  token = wcs;
-  wcs = wcspbrk (token, delim);
+  result = wcs;
+  wcs = wcspbrk (result, delim);
   if (wcs == NULL)
     /* This token finishes the string.	*/
-    olds = NULL;
+    *ptr = NULL;
   else
     {
       /* Terminate the token and make OLDS point past it.  */
       *wcs = L'\0';
-      olds = wcs + 1;
+      *ptr = wcs + 1;
     }
-  return token;
+  return result;
 }
diff --git a/wcsmbs/wcstr.h b/wcsmbs/wcstr.h
deleted file mode 100644
index e9cc64ddc1..0000000000
--- a/wcsmbs/wcstr.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the, 1992 Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-#ifndef _WCSTRING_H
-
-#define _WCSTRING_H 1
-#include <features.h>
-
-__BEGIN_DECLS
-
-/* Get size_t, wchar_t, uwchar_t and NULL from <stddef.h>.  */
-#define __need_size_t
-#define __need_wchar_t
-/* #define __need_uwchar_t */
-#define __need_NULL
-#include <stddef.h>
-
-/* FIXME: Should go with this or another name in stddef.h.  */
-typedef unsigned int uwchar_t;
-
-
-/* Copy SRC to DEST.  */
-extern wchar_t *wcscpy __P ((wchar_t *__dest, __const wchar_t *__src));
-/* Copy no more than N wide-characters of SRC to DEST.  */
-extern wchar_t *wcsncpy __P ((wchar_t *__dest, __const wchar_t *__src,
-			      size_t __n));
-
-/* Append SRC onto DEST.  */
-extern wchar_t *wcscat __P ((wchar_t *__dest, __const wchar_t *__src));
-/* Append no more than N wide-characters of SRC onto DEST.  */
-extern wchar_t *wcsncat __P ((wchar_t *__dest, __const wchar_t *__src,
-			      size_t __n));
-
-/* Compare S1 and S2.  */
-extern int wcscmp __P ((__const wchar_t *__s1, __const wchar_t *__s2));
-/* Compare N wide-characters of S1 and S2.  */
-extern int wcsncmp __P ((__const wchar_t *__s1, __const wchar_t *__s2,
-			 size_t __n));
-
-/* Duplicate S, returning an identical malloc'd string.  */
-extern wchar_t *wcsdup __P ((__const wchar_t *__s));
-
-/* Find the first occurence of WC in WCS.  */
-extern wchar_t *wcschr __P ((__const wchar_t *__wcs, wchar_t __wc));
-/* Find the last occurence of WC in WCS.  */
-extern wchar_t *wcsrchr __P ((__const wchar_t *__wcs, wchar_t __wc));
-
-/* Return the length of the initial segmet of WCS which
-   consists entirely of wide-characters not in REJECT.  */
-extern size_t wcscspn __P ((__const wchar_t *__wcs,
-			    __const wchar_t *__reject));
-/* Return the length of the initial segmet of WCS which
-   consists entirely of wide-characters in  ACCEPT.  */
-extern size_t wcsspn __P ((__const wchar_t *__wcs, __const wchar_t *__accept));
-/* Find the first occurence in WCS of any character in ACCEPT.  */
-extern wchar_t *wcspbrk __P ((__const wchar_t *__wcs,
-			      __const wchar_t *__accept));
-/* Find the first occurence of NEEDLE in HAYSTACK.  */
-extern wchar_t *wcswcs __P ((__const wchar_t *__haystack,
-			     __const wchar_t *__needle));
-/* Divide WCS into tokens separated by characters in DELIM.  */
-extern wchar_t *wcstok __P ((wchar_t *__s, __const wchar_t *__delim));
-
-/* Return the number of wide-characters in S.  */
-extern size_t wcslen __P ((__const wchar_t *__s));
-
-__END_DECLS
-
-#endif /* wcstring.h */
diff --git a/wcsmbs/wcswcs.c b/wcsmbs/wcswcs.c
deleted file mode 100644
index 4b1f2ace54..0000000000
--- a/wcsmbs/wcswcs.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* Copyright (C) 1995 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.	 If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
-
-/*
- * 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 <wcstr.h>
-
-wchar_t *
-wcswcs (haystack, needle)
-    const wchar_t *haystack;
-    const wchar_t *needle;
-{
-  register 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 (;;)
-	{ 
-	  register wchar_t a;
-	  register 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;
-}