diff options
Diffstat (limited to 'wcsmbs/wcsrtombs.c')
-rw-r--r-- | wcsmbs/wcsrtombs.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/wcsmbs/wcsrtombs.c b/wcsmbs/wcsrtombs.c index b055a09d03..ba2d8dc3e2 100644 --- a/wcsmbs/wcsrtombs.c +++ b/wcsmbs/wcsrtombs.c @@ -57,20 +57,16 @@ __wcsrtombs (dst, src, len, ps) char buf[256]; /* Just an arbitrary value. */ const wchar_t *srcend = *src + __wcslen (*src) + 1; const wchar_t *inbuf = *src; - size_t written; data.outbuf = buf; data.outbufend = buf + sizeof (buf); do - { - status = (*__wcsmbs_gconv_fcts.tomb->fct) (__wcsmbs_gconv_fcts.tomb, - &data, - (const char **) &inbuf, - (const char *) srcend, - &written, 0); - result += written; - } + status = (*__wcsmbs_gconv_fcts.tomb->fct) (__wcsmbs_gconv_fcts.tomb, + &data, + (const char **) &inbuf, + (const char *) srcend, + &result, 0); while (status == GCONV_FULL_OUTPUT); if ((status == GCONV_OK || status == GCONV_EMPTY_INPUT) |