From: Simon Tatham Date: Sat, 16 Jul 2005 20:06:37 +0000 (+0000) Subject: Cleanups and memory leak fixes from James H. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=sgt-puzzles.git;a=commitdiff_plain;h=931a7ca45f4c247e974509922b879cc631a84ec9 Cleanups and memory leak fixes from James H. [originally from svn r6099] --- diff --git a/dominosa.c b/dominosa.c index d1613b1..7e938bb 100644 --- a/dominosa.c +++ b/dominosa.c @@ -1093,6 +1093,7 @@ static game_state *dup_game(game_state *state) static void free_game(game_state *state) { sfree(state->grid); + sfree(state->edges); if (--state->numbers->refcount <= 0) { sfree(state->numbers->numbers); sfree(state->numbers); @@ -1154,7 +1155,7 @@ static char *solve_game(game_state *state, game_state *currstate, int p2 = (i & 1) ? p1+1 : p1+w; extra = sprintf(buf, ";%c%d,%d", - v==-1 ? 'E' : 'D', p1, p2); + (int)(v==-1 ? 'E' : 'D'), p1, p2); if (retlen + extra + 1 >= retsize) { retsize = retlen + extra + 256; @@ -1257,7 +1258,7 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds, (state->grid[d1] != d1 || state->grid[d2] != d2)) return NULL; - sprintf(buf, "%c%d,%d", button == RIGHT_BUTTON ? 'E' : 'D', d1, d2); + sprintf(buf, "%c%d,%d", (int)(button == RIGHT_BUTTON ? 'E' : 'D'), d1, d2); return dupstr(buf); } diff --git a/misc.c b/misc.c index 17ec48c..4e9e8c8 100644 --- a/misc.c +++ b/misc.c @@ -210,6 +210,7 @@ void shuffle(void *array, int nelts, int eltsize, random_state *rs) memcpy(carray + eltsize * j, tmp, eltsize); } } + sfree(tmp); } /* vim: set shiftwidth=4 tabstop=8: */