X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/05e50a969fafb13b74b48c08bc1f1deb2f3425fc..821f9f32f616cda1802563fb9be2f44ba161dff2:/midend.c?ds=sidebyside 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);