1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#include <stdbool.h>
static bool zaptest_test_win1252enc(void) {
zap_chr20 const utf20[] = {
0x26u,
0xF0u,
0x20ACu,
0x201Au,
0x192u,
0x201Eu,
0x2026u,
0x2020u,
0x2021u,
0x2C6u,
0x2030u,
0x160u,
0x2039u,
0x152u,
0x17Du,
0x2018u,
0x2019u,
0x201Cu,
0x201Du,
0x2022u,
0x2013u,
0x2014u,
0x2DCu,
0x2122u,
0x161u,
0x203Au,
0x153u,
0x17Eu,
0x178u,
0x0u,
};
zap_sz const enclen = sizeof (utf20) / sizeof (utf20[0x0u]) - 0x1u;
zaptest_chk(enclen,0x1Du,zap_sz,"%zX")
zap_chr8 * const win1252 = malloc(enclen + 0x1u);
if (win1252 == NULL) {
fputs("test.win1252enc: Memory allocation failed!\n\n",stderr);
return true;
}
zap_win1252enc(utf20,win1252);
zaptest_log(win1252,char const *,"%s"); /* UB? */
zaptest_chk(win1252[0x0u], 0x26u,unsigned char,"%hhX");
zaptest_chk(win1252[0x1u], 0xF0u,unsigned char,"%hhX");
zaptest_chk(win1252[0x2u], 0x80u,unsigned char,"%hhX");
zaptest_chk(win1252[0x3u], 0x82u,unsigned char,"%hhX");
zaptest_chk(win1252[0x4u], 0x83u,unsigned char,"%hhX");
zaptest_chk(win1252[0x5u], 0x84u,unsigned char,"%hhX");
zaptest_chk(win1252[0x6u], 0x85u,unsigned char,"%hhX");
zaptest_chk(win1252[0x7u], 0x86u,unsigned char,"%hhX");
zaptest_chk(win1252[0x8u], 0x87u,unsigned char,"%hhX");
zaptest_chk(win1252[0x9u], 0x88u,unsigned char,"%hhX");
zaptest_chk(win1252[0xAu], 0x89u,unsigned char,"%hhX");
zaptest_chk(win1252[0xBu], 0x8Au,unsigned char,"%hhX");
zaptest_chk(win1252[0xCu], 0x8Bu,unsigned char,"%hhX");
zaptest_chk(win1252[0xDu], 0x8Cu,unsigned char,"%hhX");
zaptest_chk(win1252[0xEu], 0x8Eu,unsigned char,"%hhX");
zaptest_chk(win1252[0xFu], 0x91u,unsigned char,"%hhX");
zaptest_chk(win1252[0x10u],0x92u,unsigned char,"%hhX");
zaptest_chk(win1252[0x11u],0x93u,unsigned char,"%hhX");
zaptest_chk(win1252[0x12u],0x94u,unsigned char,"%hhX");
zaptest_chk(win1252[0x13u],0x95u,unsigned char,"%hhX");
zaptest_chk(win1252[0x14u],0x96u,unsigned char,"%hhX");
zaptest_chk(win1252[0x15u],0x97u,unsigned char,"%hhX");
zaptest_chk(win1252[0x16u],0x98u,unsigned char,"%hhX");
zaptest_chk(win1252[0x17u],0x99u,unsigned char,"%hhX");
zaptest_chk(win1252[0x18u],0x9Au,unsigned char,"%hhX");
zaptest_chk(win1252[0x19u],0x9Bu,unsigned char,"%hhX");
zaptest_chk(win1252[0x1Au],0x9Cu,unsigned char,"%hhX");
zaptest_chk(win1252[0x1Bu],0x9Eu,unsigned char,"%hhX");
zaptest_chk(win1252[0x1Cu],0x9Fu,unsigned char,"%hhX");
zaptest_chk(win1252[0x1Du],0x0u, unsigned char,"%hhX");
return false;
}
|