~mdw
/
sgt
/
puzzles
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Marginally greater robustness in the face of solve_game() failing to
[sgt/puzzles]
/
midend.c
diff --git
a/midend.c
b/midend.c
index
64edfd3
..
cc360b5
100644
(file)
--- 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! */
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);
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;
return msg;
+ }
s = me->ourgame->execute_move(me->states[me->statepos-1].state, movestr);
assert(s);
s = me->ourgame->execute_move(me->states[me->statepos-1].state, movestr);
assert(s);