From 08c8cf370ef7575a78988eb7d8f98c2a0bb92c63 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Sun, 11 Sep 2005 11:57:24 +0000 Subject: [PATCH] Marginally greater robustness in the face of solve_game() failing to return an error message. [originally from svn r6288] --- midend.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/midend.c b/midend.c index 64edfd3..cc360b5 100644 --- a/midend.c +++ b/midend.c @@ -1167,12 +1167,15 @@ char *midend_solve(midend *me) if (me->statepos < 1) return "No game set up to solve"; /* _shouldn't_ happen! */ - msg = "Solve operation failed"; /* game _should_ overwrite on error */ + msg = NULL; movestr = me->ourgame->solve(me->states[0].state, me->states[me->statepos-1].state, me->aux_info, &msg); - if (!movestr) + if (!movestr) { + if (!msg) + msg = "Solve operation failed"; /* _shouldn't_ happen, but can */ return msg; + } s = me->ourgame->execute_move(me->states[me->statepos-1].state, movestr); assert(s);