uint32_t invalid[] = {
0x0000d800, 0x0000dbff, /* corner cases */
0x00110000, 0xffffffff, /* corner cases */
- 0x0000daad, 0x0000d901, 0x0000dddd, /* misc */
+ 0x0000daad, 0x0000d901, 0x0000d8ff, /* misc */
0x00110011, 0x01000000, 0x10000000, 0xdeadbeef /* misc */
};
int main()
{
+ int i;
+
/* Length == 0, no memory should be read or written */
printf("\n------------- test1 ----------------\n");
run_test(NULL, 0, NULL, 0);
run_test(buff, 4, pattern2, 8);
/* Input contains invalid characters */
+
+ // As conversion stops upon encountering an invalid character, we
+ // need to test each invalid character separately, to make sure it
+ // is recognized as invalid.
+
printf("\n------------- test5 ----------------\n");
- run_test(buff, sizeof buff, invalid, sizeof invalid);
+ for (i = 0; i < sizeof invalid / 4; ++i) {
+ run_test(buff, sizeof buff, invalid + i, 4);
+ }
run_test(buff, 0, invalid, sizeof invalid); // cc = 2
run_test(buff, 100, invalid, sizeof invalid);
UTF16: <none>
cc = 2
dst address difference: 0 dst len: 2000
- src address difference: 0 src len: 44
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
+UTF16: <none>
+ cc = 2
+ dst address difference: 0 dst len: 2000
+ src address difference: 0 src len: 4
UTF16: <none>
cc = 2
dst address difference: 0 dst len: 0