10 static char *initbuf() {
14 setlocale(LC_CTYPE, "C.UTF-8")
15 || setlocale(LC_CTYPE, "en_US.UTF-8")
16 || setlocale(LC_CTYPE, "en_GB.UTF-8")
17 || setlocale(LC_CTYPE, "en.UTF-8")
18 || setlocale(LC_CTYPE, "de_DE-8")
19 || setlocale(LC_CTYPE, "fr_FR-8");
20 if (strcmp(nl_langinfo(CODESET), "UTF-8")) exit(1);
24 for (i=0xc3; i<0xe0; i++)
25 for (j=0x80; j<0xc0; j++)
26 buf[l++] = i, buf[l++] = j;
27 for (i=0xe1; i<0xed; i++)
28 for (j=0x80; j<0xc0; j++)
29 for (k=0x80; k<0xc0; k++)
30 buf[l++] = i, buf[l++] = j, buf[l++] = k;
31 for (i=0xf1; i<0xf4; i++)
32 for (j=0x80; j<0xc0; j++)
33 for (k=0x80; k<0xc0; k++)
34 buf[l++] = i, buf[l++] = j, buf[l++] = 0x80, buf[l++] = k;
39 void bench_utf8_bigbuf(int N) {
46 wbuf = malloc(LEN*sizeof(wchar_t));
48 cs ^= mbstowcs(wbuf, buf, LEN);
54 void bench_utf8_onebyone(int N) {
62 for (j=0; buf[j]; j+=mbrtowc(&wc, buf+j, 4, &st));