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:
Jacob Nevins
2005-05-21 22:07:48 +00:00
parent f3ba6f8bce
commit 8ddfc3904b

View File

@ -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;
}