mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
Ensure that an old random seed isn't left around for the user to see when a
descriptive ID has been specified. Fix tiny memory leak. [originally from svn r5825]
This commit is contained in:
8
midend.c
8
midend.c
@ -748,18 +748,23 @@ static char *midend_game_id_int(midend_data *me, char *id, int defmode)
|
||||
if (seed || desc) {
|
||||
char *tmpstr = me->ourgame->encode_params(tmpparams, FALSE);
|
||||
me->ourgame->decode_params(me->params, tmpstr);
|
||||
sfree(tmpstr);
|
||||
} else {
|
||||
me->ourgame->free_params(me->params);
|
||||
me->params = me->ourgame->dup_params(tmpparams);
|
||||
}
|
||||
}
|
||||
|
||||
sfree(me->desc);
|
||||
me->desc = NULL;
|
||||
sfree(me->seedstr);
|
||||
me->seedstr = NULL;
|
||||
|
||||
if (desc) {
|
||||
error = me->ourgame->validate_desc(me->params, desc);
|
||||
if (error)
|
||||
return error;
|
||||
|
||||
sfree(me->desc);
|
||||
me->desc = dupstr(desc);
|
||||
me->genmode = GOT_DESC;
|
||||
if (me->aux_info)
|
||||
@ -768,7 +773,6 @@ static char *midend_game_id_int(midend_data *me, char *id, int defmode)
|
||||
}
|
||||
|
||||
if (seed) {
|
||||
sfree(me->seedstr);
|
||||
me->seedstr = dupstr(seed);
|
||||
me->genmode = GOT_SEED;
|
||||
}
|
||||
|
Reference in New Issue
Block a user