ref: 57c8dea5ec7a56ef5ae4e6e816fd40a3e6f23c79
dir: /sys/src/cmd/troff/mbwc.c/
/* ansi wide-character to multibyte-string conversions */
#include <u.h>
#include <libc.h>
int
mbtowc(Rune *rp, char *s, int len)
{
int bytes, copy;
char utf[UTFmax+1];
if(s == nil)
return 0;
if(len < 1)
return -1;
copy = len > UTFmax? UTFmax: len;
strncpy(utf, s, copy);
utf[copy] = '\0';
bytes = chartorune(rp, utf);
if (bytes == 1 && *rp == Runeerror)
return -1;
return bytes;
}