X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmultibyte%2Fmbsnrtowcs.c;h=68b9960f375e3b3dcbe5f4f5de9d6a8a543be104;hb=ff78355bc11257744759b5005d330e4a7583a4e4;hp=c6f0207f27476077e117c2d50729feafd63432ba;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/src/multibyte/mbsnrtowcs.c b/src/multibyte/mbsnrtowcs.c index c6f0207f..68b9960f 100644 --- a/src/multibyte/mbsnrtowcs.c +++ b/src/multibyte/mbsnrtowcs.c @@ -4,15 +4,9 @@ * unnecessary. */ -#include -#include #include -#include -#include -#include "internal.h" - -size_t mbsnrtowcs(wchar_t *wcs, const char **src, size_t n, size_t wn, mbstate_t *st) +size_t mbsnrtowcs(wchar_t *restrict wcs, const char **restrict src, size_t n, size_t wn, mbstate_t *restrict st) { size_t l, cnt=0, n2; wchar_t *ws, wbuf[256]; @@ -47,6 +41,10 @@ size_t mbsnrtowcs(wchar_t *wcs, const char **src, size_t n, size_t wn, mbstate_t cnt = l; break; } + if (!l) { + s = 0; + break; + } /* have to roll back partial character */ *(unsigned *)st = 0; break;