Since the lack of this has caused portability issues in the past:

add "-ansi -pedantic" to the main Unix makefile, and clean up a few
minor problems pointed out thereby.

[originally from svn r8175]
This commit is contained in:
Simon Tatham
2008-09-13 18:25:19 +00:00
parent acf5c55d35
commit fe1b91ac49
6 changed files with 26 additions and 14 deletions

10
grid.c
View File

@ -643,8 +643,14 @@ static grid_dot *grid_dot_add_new(grid *g, int x, int y)
* Assumes g->dots has enough capacity allocated */ * Assumes g->dots has enough capacity allocated */
static grid_dot *grid_get_dot(grid *g, tree234 *dot_list, int x, int y) static grid_dot *grid_get_dot(grid *g, tree234 *dot_list, int x, int y)
{ {
grid_dot test = {0, NULL, NULL, x, y}; grid_dot test, *ret;
grid_dot *ret = find234(dot_list, &test, NULL);
test.order = 0;
test.edges = NULL;
test.faces = NULL;
test.x = x;
test.y = y;
ret = find234(dot_list, &test, NULL);
if (ret) if (ret)
return ret; return ret;

19
loopy.c
View File

@ -179,7 +179,7 @@ enum { DIFFLIST(ENUM) DIFF_MAX };
static char const *const diffnames[] = { DIFFLIST(TITLE) }; static char const *const diffnames[] = { DIFFLIST(TITLE) };
static char const diffchars[] = DIFFLIST(ENCODE); static char const diffchars[] = DIFFLIST(ENCODE);
#define DIFFCONFIG DIFFLIST(CONFIG) #define DIFFCONFIG DIFFLIST(CONFIG)
DIFFLIST(SOLVER_FN_DECL); DIFFLIST(SOLVER_FN_DECL)
static int (*(solver_fns[]))(solver_state *) = { DIFFLIST(SOLVER_FN) }; static int (*(solver_fns[]))(solver_state *) = { DIFFLIST(SOLVER_FN) };
struct game_params { struct game_params {
@ -3070,7 +3070,7 @@ static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate,
* bounding-box around the line, then flag all nearby objects for redraw. * bounding-box around the line, then flag all nearby objects for redraw.
*/ */
if (ds->started) { if (ds->started) {
const char redraw_flag = 1<<7; const char redraw_flag = (char)(1<<7);
for (i = 0; i < g->num_edges; i++) { for (i = 0; i < g->num_edges; i++) {
/* If we're changing state, AND /* If we're changing state, AND
* the previous state was a coloured line */ * the previous state was a coloured line */
@ -3199,12 +3199,15 @@ static void game_redraw(drawing *dr, game_drawstate *ds, game_state *oldstate,
* direction to create a thin rectangle. */ * direction to create a thin rectangle. */
int dx = (x1 > x2) ? -1 : ((x1 < x2) ? 1 : 0); int dx = (x1 > x2) ? -1 : ((x1 < x2) ? 1 : 0);
int dy = (y1 > y2) ? -1 : ((y1 < y2) ? 1 : 0); int dy = (y1 > y2) ? -1 : ((y1 < y2) ? 1 : 0);
int points[] = { int points[8];
x1 + dy, y1 - dx, points[0] = x1 + dy;
x1 - dy, y1 + dx, points[1] = y1 - dx;
x2 - dy, y2 + dx, points[2] = x1 - dy;
x2 + dy, y2 - dx points[3] = y1 + dx;
}; points[4] = x2 - dy;
points[5] = y2 + dx;
points[6] = x2 + dy;
points[7] = y2 - dx;
draw_polygon(dr, points, 4, line_colour, line_colour); draw_polygon(dr, points, 4, line_colour, line_colour);
} }
if (ds->started) { if (ds->started) {

View File

@ -1108,7 +1108,7 @@ if (defined $makefiles{'gtk'}) {
"# to 1.2 if it isn't found.\n". "# to 1.2 if it isn't found.\n".
"GTK_CONFIG = sh -c 'pkg-config gtk+-2.0 \$\$0 2>/dev/null || gtk-config \$\$0'\n". "GTK_CONFIG = sh -c 'pkg-config gtk+-2.0 \$\$0 2>/dev/null || gtk-config \$\$0'\n".
"\n". "\n".
&splitline("CFLAGS = -O2 -Wall -Werror -g " . &splitline("CFLAGS = -O2 -Wall -Werror -ansi -pedantic -g " .
(join " ", map {"-I$dirpfx$_"} @srcdirs) . (join " ", map {"-I$dirpfx$_"} @srcdirs) .
" `\$(GTK_CONFIG) --cflags`")."\n". " `\$(GTK_CONFIG) --cflags`")."\n".
"XLDFLAGS = `\$(GTK_CONFIG) --libs`\n". "XLDFLAGS = `\$(GTK_CONFIG) --libs`\n".

View File

@ -1835,7 +1835,8 @@ static void game_compute_size(game_params *params, int tilesize,
int *x, int *y) int *x, int *y)
{ {
/* fool the macros */ /* fool the macros */
struct dummy { int tilesize; } dummy = { tilesize }, *ds = &dummy; struct dummy { int tilesize; } dummy, *ds = &dummy;
dummy.tilesize = tilesize;
*x = 2 * BORDER + params->w * TILESIZE + 1; *x = 2 * BORDER + params->w * TILESIZE + 1;
*y = 2 * BORDER + params->h * TILESIZE + 1; *y = 2 * BORDER + params->h * TILESIZE + 1;

View File

@ -1803,7 +1803,8 @@ static void game_compute_size(game_params *params, int tilesize,
int *x, int *y) int *x, int *y)
{ {
/* fool the macros */ /* fool the macros */
struct dummy { int tilesize; } dummy = { tilesize }, *ds = &dummy; struct dummy { int tilesize; } dummy, *ds = &dummy;
dummy.tilesize = tilesize;
*x = TLBORDER + BRBORDER + TILESIZE * params->w; *x = TLBORDER + BRBORDER + TILESIZE * params->w;
*y = TLBORDER + BRBORDER + TILESIZE * params->h; *y = TLBORDER + BRBORDER + TILESIZE * params->h;

View File

@ -1597,7 +1597,8 @@ static void game_compute_size(game_params *params, int tilesize,
int *x, int *y) int *x, int *y)
{ {
/* fool the macros */ /* fool the macros */
struct dummy { int tilesize; } dummy = { tilesize }, *ds = &dummy; struct dummy { int tilesize; } dummy, *ds = &dummy;
dummy.tilesize = tilesize;
*x = params->w * TILESIZE + 2*BORDER; *x = params->w * TILESIZE + 2*BORDER;
*y = params->h * TILESIZE + 2*BORDER; *y = params->h * TILESIZE + 2*BORDER;