Apply a missing bit of r9164, which only broke the build with
[sgt/puzzles] / keen.c
diff --git a/keen.c b/keen.c
index bec5055..8d9b6bd 100644 (file)
--- a/keen.c
+++ b/keen.c
@@ -931,7 +931,7 @@ done
                for (k = 1; k <= w; k++)
                    if (v % k == 0 && v / k <= w && v / k != k)
                        n++;
-               if (n > 1)
+               if (n > 2)
                    singletons[j] |= F_MUL;
                else
                    singletons[j] |= F_MUL_BAD;
@@ -995,7 +995,7 @@ done
                    /* didn't find a nice one, use a nasty one */
                    for (i = 0; i < a; i++) {
                        j = order[i];
-                       if (singletons[j] & good) {
+                       if (singletons[j] & bad) {
                            clues[j] = clue;
                            singletons[j] = 0;
                            break;
@@ -1188,7 +1188,6 @@ static game_state *new_game(midend *me, game_params *params, char *desc)
 {
     int w = params->w, a = w*w;
     game_state *state = snew(game_state);
-    char *err;
     const char *p = desc;
     int i;
 
@@ -1197,7 +1196,7 @@ static game_state *new_game(midend *me, game_params *params, char *desc)
     state->clues->refcount = 1;
     state->clues->w = w;
     state->clues->dsf = snew_dsf(a);
-    err = parse_block_structure(&p, w, state->clues->dsf);
+    parse_block_structure(&p, w, state->clues->dsf);
 
     assert(*p == ',');
     p++;
@@ -2013,6 +2012,11 @@ static float game_flash_length(game_state *oldstate, game_state *newstate,
     return 0.0F;
 }
 
+static int game_is_solved(game_state *state)
+{
+    return state->completed;
+}
+
 static int game_timing_state(game_state *state, game_ui *ui)
 {
     if (state->completed)
@@ -2289,6 +2293,7 @@ const struct game thegame = {
     game_redraw,
     game_anim_length,
     game_flash_length,
+    game_is_solved,
     TRUE, FALSE, game_print_size, game_print,
     FALSE,                            /* wants_statusbar */
     FALSE, game_timing_state,