From 3c720987c599927e9a8764b9362e4751c00ec1b1 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 7 Apr 1998 20:39:52 +0000 Subject: Update. 1998-04-07 20:32 Ulrich Drepper * wcsmbs/btowc.c: Fix dozends of bugs in untested code. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise. * iconv/gconv-simple.c (__gconv_transform_ascii_ucs4): Compute position of next output character correctly. (__gconv_transform_ucs4_ascii): Count used input bytes correctly. * stdio-common/vfprintf.c (vfprintf): Clear state before used. * stdlib/strtod.c: Don't use mbtowc. 1998-04-07 19:07 H.J. Lu * libio/fileops.c (_IO_file_xsgetn): Call __underflow () when what we want is smaller than a buffer. 1998-04-07 18:14 Ulrich Drepper * elf/dl-support.c (_dl_important_hwcaps): Define dummy version of this function. --- wcsmbs/wcrtomb.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'wcsmbs/wcrtomb.c') diff --git a/wcsmbs/wcrtomb.c b/wcsmbs/wcrtomb.c index d45ae444bb..dcc2ef67cd 100644 --- a/wcsmbs/wcrtomb.c +++ b/wcsmbs/wcrtomb.c @@ -70,7 +70,7 @@ __wcrtomb (char *s, wchar_t wc, mbstate_t *ps) &data, NULL, &inbytes, NULL, 1); - if (status == GCONV_OK) + if (status == GCONV_OK || status == GCONV_EMPTY_INPUT) data.outbuf[data.outbufavail++] = '\0'; } else @@ -87,10 +87,13 @@ __wcrtomb (char *s, wchar_t wc, mbstate_t *ps) characters. The output buffer must be large enough, otherwise the definition of MB_CUR_MAX is not correct. All the other possible errors also must not happen. */ - assert (status == GCONV_OK || status == GCONV_ILLEGAL_INPUT - || status == GCONV_INCOMPLETE_INPUT); + assert (status == GCONV_OK || status == GCONV_EMPTY_INPUT + || status == GCONV_ILLEGAL_INPUT + || status == GCONV_INCOMPLETE_INPUT + || status == GCONV_FULL_OUTPUT); - if (status == GCONV_OK) + if (status == GCONV_OK || status == GCONV_EMPTY_INPUT + || status == GCONV_FULL_OUTPUT) result = data.outbufavail; else { -- cgit v1.2.3