From c2d02b5a00e3e4cc99f877429c7e2bcaeec8eaf5 Mon Sep 17 00:00:00 2001 From: simon Date: Mon, 22 Aug 2005 09:27:52 +0000 Subject: [PATCH] `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 --- map.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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); -- 2.11.0