diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | wcsmbs/wcsrtombs.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog index 268c7ea9b1..a62bc29739 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2000-04-20 Ulrich Drepper <drepper@redhat.com> + * wcsmbs/wcsrtombs.c (__wcsrtombs): If output buffer is too small + don't search for NUL byte to decrement counter. + Reported by Ulrich.Brink@sap.com. + * iconv/gconv_simple.c: Define separate functions to convert from UCS4/UCS4-LE to the internal encoding. * iconv/gconv_builtin.h: Use separate functions to convert from diff --git a/wcsmbs/wcsrtombs.c b/wcsmbs/wcsrtombs.c index cbb39d36e6..28af214f18 100644 --- a/wcsmbs/wcsrtombs.c +++ b/wcsmbs/wcsrtombs.c @@ -114,8 +114,7 @@ __wcsrtombs (dst, src, len, ps) /* We have to determine whether the last character converted is the NUL character. */ - if ((status == __GCONV_OK || status == __GCONV_EMPTY_INPUT - || status == __GCONV_FULL_OUTPUT) + if ((status == __GCONV_OK || status == __GCONV_EMPTY_INPUT) && data.__outbuf[-1] == '\0') { assert (data.__outbuf != (unsigned char *) dst); |