ref: c5001ca751641b341b90913ba67c9138923ab759
parent: acafc4d93f81d06069dcdda7a99666bcc04e7850
author: Simon Tatham <anakin@pobox.com>
date: Tue Feb 7 16:45:50 EST 2006
Tal Kelrich spotted that hitting `Solve' on a configuration which is laser-indistinguishable from the right solution _but_ has a number of balls outside the acceptable range does not report an error. His example was the game ID w8h8m5M5:1e3e6e80fa3e16265ccef7ca , omitting the rightmost ball in the second row. [originally from svn r6542]
--- a/blackbox.c
+++ b/blackbox.c
@@ -813,7 +813,9 @@
ret = 0;
}
}
- if (ret == 0) goto done;
+ if (ret == 0 ||
+ state->nguesses < state->minballs ||
+ state->nguesses > state->maxballs) goto done;
/* fix up original state so the 'correct' balls end up matching the guesses,
* as we've just proved that they were equivalent. */