scc

A fork of https://git.simple-cc.org/scc/ for Qute

git clone https://git.8pit.net/scc.git

 1static wchar_t wc;
 2static struct mbtest {
 3	char *s;
 4	int l;
 5	int rmbr;
 6	int rmb;
 7	int mbstate;
 8	int syserr;
 9	wchar_t *pwc;
10	wchar_t wc;
11} tests[] = {
12	{"\0",                             2,  0,  0, 1, 0,      &wc,  0},
13	{"\x21",                           2,  1,  1, 1, 0,      &wc,  0x21},
14	{"\xc2\xa1",                       3,  2,  2, 1, 0,      &wc,  0x00A1},
15	{"\xc2\xa1",                       2,  2,  2, 1, 0,      &wc,  0x00A1},
16	{"\xe2\x80\x94",                   4,  3,  3, 1, 0,      &wc,  0x2014},
17	{"\xf0\x9f\x92\xa9",               5,  4,  4, 1, 0,      &wc,  0x01F4A9},
18	{"\xf0\x9f\x92\xa9",               5,  4,  4, 1, 0,      NULL, -1},
19	{"\xf0\x9f\x92\xa9",              -1,  4,  4, 1, 0,      &wc,  0x01F4A9},
20
21	{NULL,                             4,  0,  0, 1, 0,      NULL, -1},
22	{"\xed\x9f\xbf",                   4,  3,  3, 1, 0,      &wc,  0xd7ff},
23	{"\xed\xa0\x80",                   4, -1, -1, 1, EILSEQ, &wc,  -1},
24	{"\xed\xb3\xbf",                   4, -1, -1, 1, EILSEQ, &wc,  -1},
25	{"\xed\xb4\x80",                   4,  3,  3, 1, 0,      &wc,  0xdd00},
26
27	{"\xf0\x9f\x92\xa9",               3, -2, -1, 0, 0,      &wc, -1},
28	{"\xa9",                           2,  1, -1, 1, 0,      &wc, 0x01F4A9},
29	{"\xf0\x9f\x92\xa9",               3, -2, -1, 0, 0,      &wc, -1},
30	{NULL,                             4, -1,  0, 1, EILSEQ, &wc, -1},
31	{"\xa9",                           2, -1, -1, 1, EILSEQ, &wc, -1},
32	{"\xf0\x9f\x92\xa9",               3, -2, -1, 0, 0,      &wc, -1},
33	{NULL,                             4, -1,  0, 1, EILSEQ, &wc, -1},
34	{"\x21",                           2,  1,  1, 1, 0,      &wc,  0x21},
35	{"\xf0\x9f\x92\xa9",               2, -2, -1, 0, 0,      &wc, -1},
36	{"\xf0\x9f\x92\xa9",               0, -2, -1, 0, 0,      &wc, -1},
37	{"\x92\xa9",                       2,  2, -1, 1, 0,      &wc, 0x01F4A9},
38
39	{"\x80",                           2, -1, -1, 1, EILSEQ, &wc, -1},
40	{"\xc0\x80",                       2, -1, -1, 1, EILSEQ, &wc, -1},
41	{"\xc0\x00",                       2, -1, -1, 1, EILSEQ, &wc, -1},
42	{"\xc1\x81",                       2, -1, -1, 1, EILSEQ, &wc, -1},
43	{"\xf8\x81\x82\x83\x84\x85",      -1, -1, -1, 1, EILSEQ, &wc, -1},
44	{"\xfe\x81\x82\x83\x84\x85\x86",   8, -1, -1, 1, EILSEQ, &wc, -1},
45};