summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2008-02-03 12:41:06 +0000
committersmatz <smatz@openttd.org>2008-02-03 12:41:06 +0000
commit0ca3977af85852937a069de49b96854df1835107 (patch)
treedba6a1107955b02ecd4558b0639c2867964e1a01
parent1e51090e740c51fef7926160371a778400ebc2e2 (diff)
downloadopenttd-0ca3977af85852937a069de49b96854df1835107.tar.xz
(svn r12049) -Fix (r10496)(r10619): memset on multibyte array with wrong byte count
-rw-r--r--src/industry_gui.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/industry_gui.cpp b/src/industry_gui.cpp
index 23cef6229..48efeba3a 100644
--- a/src/industry_gui.cpp
+++ b/src/industry_gui.cpp
@@ -57,6 +57,9 @@ static struct IndustryData {
bool enabled[NUM_INDUSTRYTYPES + 1]; ///< availability state, coming from CBID_INDUSTRY_AVAILABLE (if ever)
} _fund_gui;
+assert_compile(lengthof(_fund_gui.index) == lengthof(_fund_gui.text));
+assert_compile(lengthof(_fund_gui.index) == lengthof(_fund_gui.enabled));
+
static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
{
switch (e->event) {
@@ -79,11 +82,14 @@ static void BuildDynamicIndustryWndProc(Window *w, WindowEvent *e)
WP(w, fnd_d).timer_enabled = _loaded_newgrf_features.has_newindustries;
/* Initilialize structures */
- memset(&_fund_gui.index, 0xFF, NUM_INDUSTRYTYPES);
- memset(&_fund_gui.text, STR_NULL, NUM_INDUSTRYTYPES);
- memset(&_fund_gui.enabled, false, NUM_INDUSTRYTYPES);
_fund_gui.count = 0;
+ for (uint i = 0; i < lengthof(_fund_gui.index); i++) {
+ _fund_gui.index[i] = 0xFF;
+ _fund_gui.text[i] = STR_NULL;
+ _fund_gui.enabled[i] = false;
+ }
+
w->vscroll.cap = 8; // rows in grid, same in scroller
w->resize.step_height = 13;