X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmultibyte%2Fmbsnrtowcs.c;h=33457f95bdccd6e68b56123f88e84522c7d9bad7;hb=71955b2ff88b40446611142429416536c709c961;hp=c6f0207f27476077e117c2d50729feafd63432ba;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/src/multibyte/mbsnrtowcs.c b/src/multibyte/mbsnrtowcs.c index c6f0207f..33457f95 100644 --- a/src/multibyte/mbsnrtowcs.c +++ b/src/multibyte/mbsnrtowcs.c @@ -12,7 +12,7 @@ #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 +47,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;