diff --git a/ChangeLog b/ChangeLog index 48bc56bdd8..38e6508ab4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +1999-06-30 Ulrich Drepper + + * wcsmbs/wcsrchr.c: Fix handling of L'\0' parameter. + * wcsmbs/wcschr.c: Likewise. + 1999-06-28 Ulrich Drepper * 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, @@ -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; }