summaryrefslogtreecommitdiff
path: root/settings.c
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2006-11-21 20:23:57 +0000
committerDarkvater <darkvater@openttd.org>2006-11-21 20:23:57 +0000
commitdf54f52e20f91953d33ddc1c38929c67acaa86dc (patch)
tree5cf07a8e7335d947c4bbb671d2c6842acfe4e99d /settings.c
parent2a91c8d723ae2e9a71d964b35977799f3134fe84 (diff)
downloadopenttd-df54f52e20f91953d33ddc1c38929c67acaa86dc.tar.xz
(svn r7232) -Codechange: Also allow for the save/load of non pre-allocated strings inside structs.
Diffstat (limited to 'settings.c')
-rw-r--r--settings.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/settings.c b/settings.c
index 2672f202a..4e94a97e6 100644
--- a/settings.c
+++ b/settings.c
@@ -1717,7 +1717,8 @@ static void SaveSettings(const SettingDesc *sd, void *object)
const SettingDesc *i;
size_t length = 0;
for (i = sd; i->save.cmd != SL_END; i++) {
- length += SlCalcObjMemberLength(&i->save);
+ const void *ptr = GetVariableAddress(object, &i->save);
+ length += SlCalcObjMemberLength(ptr, &i->save);
}
SlSetLength(length);