Fix parenthesis problem in Light Up solver. Should fix Debian bug
[sgt/puzzles] / lightup.c
index a601130..ceda07f 100644 (file)
--- a/lightup.c
+++ b/lightup.c
@@ -764,7 +764,7 @@ static int try_solve_light(game_state *state, int ox, int oy,
                            unsigned int flags, int lights)
 {
     ll_data lld;
-    int sx,sy,n = 0;
+    int sx = 0, sy = 0, n = 0;
 
     if (lights > 0) return 0;
     if (flags & F_BLACK) return 0;
@@ -1016,9 +1016,9 @@ static void try_rule_out(game_state *state, int x, int y,
 
     get_surrounds(state, x, y, &s);
     for (i = 0; i < s.npoints; i++) {
-        if (!GRID(state,flags,s.points[i].x,s.points[i].y) & F_NUMBERED)
+        if (!(GRID(state,flags,s.points[i].x,s.points[i].y) & F_NUMBERED))
             continue;
-        /* we have an adjacent clue square; find /it's/ surrounds
+        /* we have an adjacent clue square; find /its/ surrounds
          * and count the remaining lights it needs. */
         get_surrounds(state,s.points[i].x,s.points[i].y,&ss);
         curr_lights = 0;
@@ -1840,13 +1840,13 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds,
         cx = FROMCOORD(x);
         cy = FROMCOORD(y);
         action = (button == LEFT_BUTTON) ? FLIP_LIGHT : FLIP_IMPOSSIBLE;
-    } else if (button == CURSOR_SELECT ||
+    } else if (button == CURSOR_SELECT || button == CURSOR_SELECT2 ||
                button == 'i' || button == 'I' ||
                button == ' ' || button == '\r' || button == '\n') {
         ui->cur_visible = 1;
         cx = ui->cur_x;
         cy = ui->cur_y;
-        action = (button == 'i' || button == 'I') ?
+        action = (button == 'i' || button == 'I' || button == CURSOR_SELECT2) ?
             FLIP_IMPOSSIBLE : FLIP_LIGHT;
     } else if (button == CURSOR_UP || button == CURSOR_DOWN ||
                button == CURSOR_RIGHT || button == CURSOR_LEFT) {
@@ -2171,8 +2171,8 @@ static void game_print_size(game_params *params, float *x, float *y)
      * I'll use 6mm squares by default.
      */
     game_compute_size(params, 600, &pw, &ph);
-    *x = pw / 100.0;
-    *y = ph / 100.0;
+    *x = pw / 100.0F;
+    *y = ph / 100.0F;
 }
 
 static void game_print(drawing *dr, game_state *state, int tilesize)