Imported Upstream version 2.9.0
[debian/cc1111] / support / regression / tests / bugs-1596270-1736867.c
1 /*
2         bugs 1596270 and 1736867.
3 */
4
5 #include <testfwk.h>
6
7
8 typedef unsigned char UINT8;
9 typedef unsigned char S_GAMES_SI_CHARS;
10
11 typedef struct
12 {
13   S_GAMES_SI_CHARS c;
14   UINT8 x, y;
15 }S_GAMES_SI_BLOCK_STRUCT;
16 #define S_GAMES_SI_BLOCK_STRUCT_size sizeof(S_GAMES_SI_BLOCK_STRUCT)
17
18
19 static void
20 s_Games_SI_BlockInit(S_GAMES_SI_BLOCK_STRUCT *bl, UINT8
21 i, UINT8 x, UINT8 y)
22 {
23   bl[i ].x = x - 1; bl[i ].y = y - 1;
24   bl[i + 1].x = x ; bl[i + 1].y = y - 1;
25   bl[i + 2].x = x + 1;
26   bl[i + 2].y = y - 1;
27   bl[i + 3].x = x - 1; bl[i + 3].y = y ;
28   bl[i + 4].x = x ; bl[i + 4].y = y ;
29   bl[i + 5].x = x + 1; bl[i + 5].y = y ;
30   bl[i + 6].x = x - 1; bl[i + 6].y = y + 1;
31   bl[i + 7].x = x ; bl[i + 7].y = y + 1;
32   bl[i + 8].x = x + 1; bl[i + 8].y = y + 1;
33 }
34
35 void
36 testBug156270(void)
37 {
38   S_GAMES_SI_BLOCK_STRUCT b[9];
39   s_Games_SI_BlockInit(b, 0, 1, 1);
40   ASSERT(b[1].x == 1); /* 1596270 */
41   ASSERT(b[1].y == 0); /* 1596270 */
42   ASSERT(b[2].x == 2); /* 1596270 */
43   ASSERT(b[2].y == 0); /* 1736867 */
44 }
45