Replace remaining mb*towc() calls with utf8towc().
diff --git a/toys/posix/expand.c b/toys/posix/expand.c index a25848a..d4914ab 100644 --- a/toys/posix/expand.c +++ b/toys/posix/expand.c
@@ -49,7 +49,7 @@ if (CFG_TOYBOX_I18N) { wchar_t blah; - width = mbrtowc(&blah, toybuf+i, len-i, 0); + width = utf8towc(&blah, toybuf+i, len-i); if (width > 1) { if (width != fwrite(toybuf+i, width, 1, stdout)) perror_exit("stdout");
diff --git a/toys/posix/file.c b/toys/posix/file.c index 658708c..9958d04 100644 --- a/toys/posix/file.c +++ b/toys/posix/file.c
@@ -267,7 +267,7 @@ } else for (i = 0; i<len; ++i) { if (!(isprint(toybuf[i]) || isspace(toybuf[i]))) { wchar_t wc; - if ((bytes = mbrtowc(&wc, s+i, len-i, 0))>0 && wcwidth(wc)>=0) { + if ((bytes = utf8towc(&wc, s+i, len-i))>0 && wcwidth(wc)>=0) { i += bytes-1; if (!what) what = "UTF-8 text"; } else {
diff --git a/toys/posix/paste.c b/toys/posix/paste.c index 42e6a28..ea04f02 100644 --- a/toys/posix/paste.c +++ b/toys/posix/paste.c
@@ -42,7 +42,6 @@ // Start of each line/file resets delimiter cycle dpos = TT.d; - mbtowc(0, 0, 0); for (i = any = dcount = dlen = 0; seq || i<TT.files; i++) { size_t blen; @@ -84,7 +83,7 @@ } } } else { - while (0<(dlen = mbtowc(&wc, dpos, 99))) { + while (0<(dlen = utf8towc(&wc, dpos, 99))) { dpos += dlen; if (!(dlen = wcwidth(wc))) continue; if (dlen<0) dpos = dstr+1;
diff --git a/toys/posix/wc.c b/toys/posix/wc.c index 96ff978..69c5f38 100644 --- a/toys/posix/wc.c +++ b/toys/posix/wc.c
@@ -79,7 +79,6 @@ wchar_t wchar; // next wide size, don't count invalid, fetch more data if necessary - clen = mbrtowc(&wchar, toybuf+pos, len-pos, 0); clen = utf8towc(&wchar, toybuf+pos, len-pos); if (clen == -1) continue; if (clen == -2 && !done) break;