aboutsummaryrefslogtreecommitdiff
path: root/unequal.c
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2013-04-12 17:11:49 +0000
committerSimon Tatham <anakin@pobox.com>2013-04-12 17:11:49 +0000
commit0b93de904a98f119b1a95d3a53029f1ed4bfb9b3 (patch)
treee1fef5c0a006feb7c2a631c7e5c81487221734d7 /unequal.c
parent383c15794a517a4e6dc0b7364edac1f7056cee82 (diff)
downloadpuzzles-0b93de904a98f119b1a95d3a53029f1ed4bfb9b3.zip
puzzles-0b93de904a98f119b1a95d3a53029f1ed4bfb9b3.tar.gz
puzzles-0b93de904a98f119b1a95d3a53029f1ed4bfb9b3.tar.bz2
puzzles-0b93de904a98f119b1a95d3a53029f1ed4bfb9b3.tar.xz
Add 'const' to the game_params arguments in validate_desc and
new_desc. Oddities in the 'make test' output brought to my attention that a few puzzles have been modifying their input game_params for various reasons; they shouldn't do that, because that's the game_params held permanently by the midend and it will affect subsequent game generations if they modify it. So now those arguments are const, and all the games which previously modified their game_params now take a copy and modify that instead. [originally from svn r9830]
Diffstat (limited to 'unequal.c')
-rw-r--r--unequal.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/unequal.c b/unequal.c
index d16a572..a35d7a8 100644
--- a/unequal.c
+++ b/unequal.c
@@ -1094,9 +1094,11 @@ static void add_adjacent_flags(game_state *state, digit *latin)
}
}
-static char *new_game_desc(game_params *params, random_state *rs,
+static char *new_game_desc(const game_params *params_in, random_state *rs,
char **aux, int interactive)
{
+ game_params params_copy = *params_in; /* structure copy */
+ game_params *params = &params_copy;
digit *sq = NULL;
int i, x, y, retlen, k, nsol;
int o2 = params->order * params->order, ntries = 1;
@@ -1188,7 +1190,7 @@ generate:
return ret;
}
-static game_state *load_game(game_params *params, char *desc,
+static game_state *load_game(const game_params *params, char *desc,
char **why_r)
{
game_state *state = blank_game(params->order, params->adjacent);
@@ -1284,7 +1286,7 @@ static game_state *new_game(midend *me, game_params *params, char *desc)
return state;
}
-static char *validate_desc(game_params *params, char *desc)
+static char *validate_desc(const game_params *params, char *desc)
{
char *why = NULL;
game_state *dummy = load_game(params, desc, &why);