X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/9a6d429a8372cc31fb1aa7de8e5f079a47ecf148..7710307c9f083ed3d1530921dea233f1a3d5d981:/filling.c diff --git a/filling.c b/filling.c index a797d09..b6d0ed1 100644 --- a/filling.c +++ b/filling.c @@ -1097,11 +1097,10 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds, case '\r': case '\n': case '\b': - case '\177': button = 0; break; default: - if (!isdigit(button)) return NULL; + if (button < '0' || button > '9') return NULL; button -= '0'; if (button > (w == 2 && h == 2? 3: max(w, h))) return NULL; } @@ -1500,7 +1499,7 @@ static void draw_grid(drawing *dr, game_drawstate *ds, game_state *state, if (flashy || !shading) { /* clear all background flags */ - } else if (ui->sel && ui->sel[y*w+x]) { + } else if (ui && ui->sel && ui->sel[y*w+x]) { flags |= HIGH_BG; } else if (v) { int size = dsf_size(ds->dsf_scratch, y*w+x); @@ -1509,7 +1508,7 @@ static void draw_grid(drawing *dr, game_drawstate *ds, game_state *state, else if (size > v) flags |= ERROR_BG; } - if (ui->cur_visible && x == ui->cur_x && y == ui->cur_y) + if (ui && ui->cur_visible && x == ui->cur_x && y == ui->cur_y) flags |= CURSOR_SQ; /*