From: simon Date: Mon, 22 Aug 2005 09:27:52 +0000 (+0000) Subject: `Solve' operation on an already solved map without an aux_info was X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/commitdiff_plain/c2d02b5a00e3e4cc99f877429c7e2bcaeec8eaf5 `Solve' operation on an already solved map without an aux_info was returning NULL due to no moves being required, leading to a strange error message. Trivial fix. git-svn-id: svn://svn.tartarus.org/sgt/puzzles@6198 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/map.c b/map.c index c65d3da..2e1e097 100644 --- a/map.c +++ b/map.c @@ -1563,8 +1563,10 @@ static char *solve_game(game_state *state, game_state *currstate, return NULL; } - retlen = retsize = 0; - ret = NULL; + retsize = 64; + ret = snewn(retsize, char); + strcpy(ret, "S"); + retlen = 1; for (i = 0; i < state->map->n; i++) { int len; @@ -1574,8 +1576,7 @@ static char *solve_game(game_state *state, game_state *currstate, continue; assert(!state->map->immutable[i]); - len = sprintf(buf, "%s%d:%d", retlen ? ";" : "S;", - colouring[i], i); + len = sprintf(buf, ";%d:%d", colouring[i], i); if (retlen + len >= retsize) { retsize = retlen + len + 256; ret = sresize(ret, retsize, char);