diff options
| author | Simon Tatham <anakin@pobox.com> | 2010-04-17 13:27:15 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2010-04-17 13:27:15 +0000 |
| commit | 0a9b0a7384e664126a3af418f047ef627c7ac279 (patch) | |
| tree | e2955dd11fd1d5c2ef98afc577f93636d03cd234 | |
| parent | 945d8f0a3a9bfe2702170a75484271c71931b2eb (diff) | |
| download | puzzles-0a9b0a7384e664126a3af418f047ef627c7ac279.zip puzzles-0a9b0a7384e664126a3af418f047ef627c7ac279.tar.gz puzzles-0a9b0a7384e664126a3af418f047ef627c7ac279.tar.bz2 puzzles-0a9b0a7384e664126a3af418f047ef627c7ac279.tar.xz | |
Fix incorrect uses of ctype.h (passing it uncast chars, or other
things potentially not in the range 0..255).
[originally from svn r8922]
| -rw-r--r-- | filling.c | 2 | ||||
| -rw-r--r-- | magnets.c | 2 | ||||
| -rw-r--r-- | signpost.c | 2 | ||||
| -rw-r--r-- | singles.c | 2 |
4 files changed, 4 insertions, 4 deletions
@@ -1100,7 +1100,7 @@ static char *interpret_move(game_state *state, game_ui *ui, game_drawstate *ds, 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; } @@ -386,7 +386,7 @@ static char n2c(int num) { /* XXX cloned from singles.c */ } static int c2n(char c) { /* XXX cloned from singles.c */ - if (isdigit(c)) + if (isdigit((unsigned char)c)) return (int)(c - '0'); else if (c >= 'a' && c <= 'z') return (int)(c - 'a' + 10); @@ -513,7 +513,7 @@ static void unpick_desc(game_params *params, char *desc, } c = *desc; - if (isdigit(c)) { + if (isdigit((unsigned char)c)) { num = (num*10) + (int)(c-'0'); if (num > state->n) { msg = "Number too large"; @@ -324,7 +324,7 @@ static char n2c(int num) { } static int c2n(char c) { - if (isdigit(c)) + if (isdigit((unsigned char)c)) return (int)(c - '0'); else if (c >= 'a' && c <= 'z') return (int)(c - 'a' + 10); |