(svn r14410) -Codechange: one can't inject a negative number of parameters, so enforce this by using a uint.
--- a/src/strings.cpp Sun Sep 28 12:38:56 2008 +0000
+++ b/src/strings.cpp Sun Sep 28 13:50:11 2008 +0000
@@ -191,8 +191,9 @@
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));
}
--- a/src/strings_func.h Sun Sep 28 12:38:56 2008 +0000
+++ b/src/strings_func.h Sun Sep 28 13:50:11 2008 +0000
@@ -11,7 +11,7 @@
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)
{