summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2006-12-21 10:09:43 +0000
committerDarkvater <darkvater@openttd.org>2006-12-21 10:09:43 +0000
commit739e93fd23f91e433829dfaa5969e75528f861cd (patch)
treefc0687324cb1df9abba5c770d3c759f84383915d
parent39eff474d3f980bd440610adb6a0e292bf7f5459 (diff)
downloadopenttd-739e93fd23f91e433829dfaa5969e75528f861cd.tar.xz
(svn r7522) -Codechange: Have CopyGRFConfigList clear the destination list before assigning
values to it. This cuts down on memleaks which could exist when the function was not used carefully.
-rw-r--r--newgrf_config.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/newgrf_config.c b/newgrf_config.c
index f1b9b00ea..b70c8354f 100644
--- a/newgrf_config.c
+++ b/newgrf_config.c
@@ -115,6 +115,8 @@ GRFConfig **CopyGRFConfigList(GRFConfig **dst, const GRFConfig *src)
{
GRFConfig *c;
+ /* Clear destination as it will be overwritten */
+ ClearGRFConfigList(dst);
for (; src != NULL; src = src->next) {
c = calloc(1, sizeof(*c));
*c = *src;
@@ -135,8 +137,6 @@ void ResetGRFConfig(bool defaults)
{
GRFConfig **c = &_grfconfig;
- ClearGRFConfigList(c);
-
if (defaults) c = CopyGRFConfigList(c, _grfconfig_newgame);
CopyGRFConfigList(c, _grfconfig_static);
}