Sun Mar 31 18:07:32 1996 Ulrich Drepper <drepper@gnu.ai.mit.edu>
authorroland <roland>
Tue, 2 Apr 1996 13:51:40 +0000 (13:51 +0000)
committerroland <roland>
Tue, 2 Apr 1996 13:51:40 +0000 (13:51 +0000)
* wcsmbs/wcscat.c, wcsmbs/wcschr.c, wcsmbs/wcscmp.c,
        wcsmbs/wcscpy.c, wcsmbs/wcscspn.c, wcsmbs/wcsdup.c,
        wcsmbs/wcslen.c, wcsmbs/wcsncat.c, wcsmbs/wcsncmp.c,
        wcsmbs/wcsncpy.c, wcsmbs/wcspbrk.c, wcsmbs/wcsrchr.c,
        wcsmbs/wcsspn.c, wcsmbs/wcstok.c: Changed to conform with ISO C
        amendment 1.

14 files changed:
wcsmbs/wcscat.c
wcsmbs/wcschr.c
wcsmbs/wcscmp.c
wcsmbs/wcscpy.c
wcsmbs/wcscspn.c
wcsmbs/wcsdup.c
wcsmbs/wcslen.c
wcsmbs/wcsncat.c
wcsmbs/wcsncmp.c
wcsmbs/wcsncpy.c
wcsmbs/wcspbrk.c
wcsmbs/wcsrchr.c
wcsmbs/wcsspn.c
wcsmbs/wcstok.c

index 4ff5c86..e142806 100644 (file)
@@ -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;
index 85a1801..64af0bf 100644 (file)
@@ -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)
index 84ecae8..08da116 100644 (file)
@@ -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;
 
index a45747e..3aa897e 100644 (file)
@@ -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;
index 0dc4d9b..7ab8f27 100644 (file)
@@ -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;
 
index 62c6462..c24ba96 100644 (file)
@@ -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);
index 2907cb3..1ce365f 100644 (file)
@@ -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;
 
index 7851d70..48d5460 100644 (file)
@@ -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;
index 9f1829b..3df6bfc 100644 (file)
@@ -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';
index 740c71e..180da79 100644 (file)
@@ -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;
 
index 83892ba..91c5573 100644 (file)
@@ -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)
index 87823b3..ae31dc4 100644 (file)
@@ -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;
 
index 81a557c..158e35e 100644 (file)
@@ -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;
index 191bbd5..376fe7b 100644 (file)
@@ -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;
 }