aboutsummaryrefslogtreecommitdiff
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;
}