about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--wcsmbs/wcschr.c7
-rw-r--r--wcsmbs/wcsrchr.c12
3 files changed, 13 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 48bc56bdd8..38e6508ab4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+1999-06-30  Ulrich Drepper  <drepper@cygnus.com>
+
+	* wcsmbs/wcsrchr.c: Fix handling of L'\0' parameter.
+	* wcsmbs/wcschr.c: Likewise.
+
 1999-06-28  Ulrich Drepper  <drepper@cygnus.com>
 
 	* sysdeps/libm-ieee754/e_gamma_r.c: Initialize *signgamp for NaN
diff --git a/wcsmbs/wcschr.c b/wcsmbs/wcschr.c
index 7f5c7dcba2..a884c0be4c 100644
--- a/wcsmbs/wcschr.c
+++ b/wcsmbs/wcschr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1999 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
@@ -25,11 +25,10 @@ wcschr (wcs, wc)
      register const wchar_t *wcs;
      register const wchar_t wc;
 {
-  while (*wcs != L'\0')
+  do
     if (*wcs == wc)
       return (wchar_t *) wcs;
-    else
-      ++wcs;
+  while (*wcs++ != L'\0')
 
   return NULL;
 }
diff --git a/wcsmbs/wcsrchr.c b/wcsmbs/wcsrchr.c
index 9f032c7624..59184c558b 100644
--- a/wcsmbs/wcsrchr.c
+++ b/wcsmbs/wcsrchr.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1996, 1999 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>
 
@@ -28,12 +28,10 @@ wcsrchr (wcs, wc)
 {
   const wchar_t *retval = NULL;
 
-  while (*wcs != L'\0')
-    {
-      if (*wcs == wc)
-	retval = wcs;
-      ++wcs;
-    }
+  do
+    if (*wcs == wc)
+      retval = wcs;
+  while (*wcs++ != L'\0')
 
   return (wchar_t *) retval;
 }