mirror of
https://git.musl-libc.org/git/musl
synced 2025-02-19 19:54:16 +03:00
fix swprintf handling of nul character in output
the buffer-flush function did not account for mbtowc returning 0 rather than 1 when converting the nul character. this prevented advancing past it, instead repeatedly converting it into the output wide character string until the max output length was exhausted.
This commit is contained in:
parent
0e5234807d
commit
1d5750b95c
@ -18,6 +18,7 @@ static size_t sw_write(FILE *f, const unsigned char *s, size_t l)
|
||||
if (s!=f->wbase && sw_write(f, f->wbase, f->wpos-f->wbase)==-1)
|
||||
return -1;
|
||||
while (c->l && l && (i=mbtowc(c->ws, (void *)s, l))>=0) {
|
||||
if (!i) i=1;
|
||||
s+=i;
|
||||
l-=i;
|
||||
c->l--;
|
||||
|
Loading…
x
Reference in New Issue
Block a user