diff options
| author | Franklin Wei <me@fwei.tk> | 2017-08-14 17:22:59 -0400 |
|---|---|---|
| committer | Franklin Wei <franklin@rockbox.org> | 2020-12-07 19:27:19 -0500 |
| commit | 4ffcd5dc8b0adf017148c5a88193a8562616303d (patch) | |
| tree | e1f784e07f9e191d640437fa484d9e0fedac3ae4 | |
| parent | 6752afa4968826f10b2755d318fd873228ec670d (diff) | |
| download | puzzles-4ffcd5dc8b0adf017148c5a88193a8562616303d.zip puzzles-4ffcd5dc8b0adf017148c5a88193a8562616303d.tar.gz puzzles-4ffcd5dc8b0adf017148c5a88193a8562616303d.tar.bz2 puzzles-4ffcd5dc8b0adf017148c5a88193a8562616303d.tar.xz | |
Add more config validity checks
| -rw-r--r-- | blackbox.c | 2 | ||||
| -rw-r--r-- | flood.c | 4 | ||||
| -rw-r--r-- | mines.c | 2 | ||||
| -rw-r--r-- | netslide.c | 2 | ||||
| -rw-r--r-- | pattern.c | 2 | ||||
| -rw-r--r-- | sixteen.c | 3 | ||||
| -rw-r--r-- | twiddle.c | 2 |
7 files changed, 15 insertions, 2 deletions
@@ -196,6 +196,8 @@ static const char *validate_params(const game_params *params, bool full) return "Minimum number of balls may not be greater than maximum"; if (params->minballs >= params->w * params->h) return "Too many balls to fit in grid"; + if (params->minballs < 1) + return "Number of balls must be at least one"; return NULL; } @@ -207,8 +207,10 @@ static game_params *custom_params(const config_item *cfg) static const char *validate_params(const game_params *params, bool full) { - if (params->w < 2 && params->h < 2) + if (params->w * params->h < 2) return "Grid must contain at least two squares"; + if (params->w < 1 || params->h < 1) + return "Width and height must both be at least one"; if (params->colours < 3 || params->colours > 10) return "Must have between 3 and 10 colours"; if (params->leniency < 0) @@ -262,6 +262,8 @@ static const char *validate_params(const game_params *params, bool full) return "Mine count may not be negative"; if (params->n > params->w * params->h - 9) return "Too many mines for grid size"; + if (params->n < 1) + return "Number of mines must be greater than zero"; /* * FIXME: Need more constraints here. Not sure what the @@ -311,6 +311,8 @@ static const char *validate_params(const game_params *params, bool full) return "Barrier probability may not be negative"; if (params->barrier_probability > 1) return "Barrier probability may not be greater than 1"; + if (params->movetarget < 0) + return "Number of shuffling moves may not be negative"; return NULL; } @@ -176,6 +176,8 @@ static const char *validate_params(const game_params *params, bool full) { if (params->w <= 0 || params->h <= 0) return "Width and height must both be greater than zero"; + if (params->w * params->w < 2) + return "Grid must contain at least two squares"; return NULL; } @@ -173,7 +173,8 @@ static const char *validate_params(const game_params *params, bool full) { if (params->w < 2 || params->h < 2) return "Width and height must both be at least two"; - + if (params->movetarget < 0) + return "Number of shuffling moves may not be negative"; return NULL; } @@ -210,6 +210,8 @@ static const char *validate_params(const game_params *params, bool full) return "Width must be at least the rotating block size"; if (params->h < params->n) return "Height must be at least the rotating block size"; + if (params->movetarget < 0) + return "Number of shuffling moves may not be negative"; return NULL; } |