From 3466f373e0ff784474a7c25af4d20b362ab49063 Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 13 Sep 2008 18:25:19 +0000 Subject: [PATCH] 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. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@8175 cda61777-01e9-0310-a592-d414129be87e --- grid.c | 10 ++++++++-- loopy.c | 19 +++++++++++-------- mkfiles.pl | 2 +- slant.c | 3 ++- tents.c | 3 ++- unfinished/slide.c | 3 ++- 6 files changed, 26 insertions(+), 14 deletions(-) diff --git a/grid.c b/grid.c index 75887eb..dcc384a 100644 --- a/grid.c +++ b/grid.c @@ -643,8 +643,14 @@ static grid_dot *grid_dot_add_new(grid *g, int x, int y) * Assumes g->dots has enough capacity allocated */ 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 *ret = find234(dot_list, &test, NULL); + grid_dot test, *ret; + + test.order = 0; + test.edges = NULL; + test.faces = NULL; + test.x = x; + test.y = y; + ret = find234(dot_list, &test, NULL); if (ret) return ret; diff --git a/loopy.c b/loopy.c index b54922a..f5a237b 100644 --- a/loopy.c +++ b/loopy.c @@ -179,7 +179,7 @@ enum { DIFFLIST(ENUM) DIFF_MAX }; static char const *const diffnames[] = { DIFFLIST(TITLE) }; static char const diffchars[] = DIFFLIST(ENCODE); #define DIFFCONFIG DIFFLIST(CONFIG) -DIFFLIST(SOLVER_FN_DECL); +DIFFLIST(SOLVER_FN_DECL) static int (*(solver_fns[]))(solver_state *) = { DIFFLIST(SOLVER_FN) }; 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. */ if (ds->started) { - const char redraw_flag = 1<<7; + const char redraw_flag = (char)(1<<7); for (i = 0; i < g->num_edges; i++) { /* If we're changing state, AND * 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. */ int dx = (x1 > x2) ? -1 : ((x1 < x2) ? 1 : 0); int dy = (y1 > y2) ? -1 : ((y1 < y2) ? 1 : 0); - int points[] = { - x1 + dy, y1 - dx, - x1 - dy, y1 + dx, - x2 - dy, y2 + dx, - x2 + dy, y2 - dx - }; + int points[8]; + points[0] = x1 + dy; + points[1] = y1 - dx; + points[2] = x1 - dy; + 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); } if (ds->started) { diff --git a/mkfiles.pl b/mkfiles.pl index 8119f6c..01f60e1 100755 --- a/mkfiles.pl +++ b/mkfiles.pl @@ -1108,7 +1108,7 @@ if (defined $makefiles{'gtk'}) { "# 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". "\n". - &splitline("CFLAGS = -O2 -Wall -Werror -g " . + &splitline("CFLAGS = -O2 -Wall -Werror -ansi -pedantic -g " . (join " ", map {"-I$dirpfx$_"} @srcdirs) . " `\$(GTK_CONFIG) --cflags`")."\n". "XLDFLAGS = `\$(GTK_CONFIG) --libs`\n". diff --git a/slant.c b/slant.c index 000d880..c3b9f17 100644 --- a/slant.c +++ b/slant.c @@ -1835,7 +1835,8 @@ static void game_compute_size(game_params *params, int tilesize, int *x, int *y) { /* 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; *y = 2 * BORDER + params->h * TILESIZE + 1; diff --git a/tents.c b/tents.c index bc07b4b..bab0de7 100644 --- a/tents.c +++ b/tents.c @@ -1803,7 +1803,8 @@ static void game_compute_size(game_params *params, int tilesize, int *x, int *y) { /* 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; *y = TLBORDER + BRBORDER + TILESIZE * params->h; diff --git a/unfinished/slide.c b/unfinished/slide.c index af8f210..cc341b8 100644 --- a/unfinished/slide.c +++ b/unfinished/slide.c @@ -1597,7 +1597,8 @@ static void game_compute_size(game_params *params, int tilesize, int *x, int *y) { /* 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; *y = params->h * TILESIZE + 2*BORDER; -- 2.11.0