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. --- iconv/gconv_simple.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'iconv') diff --git a/iconv/gconv_simple.c b/iconv/gconv_simple.c index 478c0dc8fe..6fe98a9065 100644 --- a/iconv/gconv_simple.c +++ b/iconv/gconv_simple.c @@ -134,8 +134,9 @@ __gconv_transform_ascii_ucs4 (struct gconv_step *step, } /* It's an one byte sequence. */ - *(wchar_t *) &data->outbuf[data->outbufavail++] + *(wchar_t *) &data->outbuf[data->outbufavail] = (wchar_t) *newinbuf; + data->outbufavail += sizeof (wchar_t); ++actually; ++newinbuf; @@ -252,12 +253,12 @@ __gconv_transform_ucs4_ascii (struct gconv_step *step, ++actually; ++newinbuf; - ++cnt; + cnt += sizeof (wchar_t); } /* Remember how much we converted. */ - do_write += cnt; - *inlen -= cnt * sizeof (wchar_t); + do_write += cnt / sizeof (wchar_t); + *inlen -= cnt; /* Check whether an illegal character appeared. */ if (result != GCONV_OK) -- cgit v1.2.3