diff options
author | rubidium <rubidium@openttd.org> | 2008-09-28 13:50:11 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2008-09-28 13:50:11 +0000 |
commit | fc1ad6871490062dee9b0eb562a7d3552aeb5cba (patch) | |
tree | ac9f9beb01979a9afd4b4a144489e33ac8083baa /src | |
parent | b588578bcc20c2b000f16222643a64250a836fb6 (diff) | |
download | openttd-fc1ad6871490062dee9b0eb562a7d3552aeb5cba.tar.xz |
(svn r14410) -Codechange: one can't inject a negative number of parameters, so enforce this by using a uint.
Diffstat (limited to 'src')
-rw-r--r-- | src/strings.cpp | 3 | ||||
-rw-r--r-- | src/strings_func.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/strings.cpp b/src/strings.cpp index 6e9665ad9..5d0fa5675 100644 --- a/src/strings.cpp +++ b/src/strings.cpp @@ -191,8 +191,9 @@ void SetDParamStr(uint n, const char *str) SetDParam(n, (uint64)(size_t)str); } -void InjectDParam(int amount) +void InjectDParam(uint amount) { + assert((uint)amount < lengthof(_decode_parameters)); memmove(_decode_parameters + amount, _decode_parameters, sizeof(_decode_parameters) - amount * sizeof(uint64)); } diff --git a/src/strings_func.h b/src/strings_func.h index f83af7874..2c53bac8c 100644 --- a/src/strings_func.h +++ b/src/strings_func.h @@ -11,7 +11,7 @@ char *InlineString(char *buf, StringID string); char *GetString(char *buffr, StringID string, const char *last); const char *GetStringPtr(StringID string); -void InjectDParam(int amount); +void InjectDParam(uint amount); static inline void SetDParamX(uint64 *s, uint n, uint64 v) { |