Mercurial > hg > openttd
changeset 7257:0cbe7df2b293 draft
(svn r10566) -Fix [FS#1025]: a NewGRF could have a information message that is too long for the internal buffers to handle. We should not crash on such a case even though the message is too big for the window anyway.
author | rubidium <rubidium@openttd.org> |
---|---|
date | Sat, 14 Jul 2007 22:37:40 +0000 |
parents | 7843e26f5f1d |
children | 6c0d77eb1fc2 |
files | src/string.cpp |
diffstat | 1 files changed, 6 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/string.cpp +++ b/src/string.cpp @@ -9,6 +9,7 @@ #include "macros.h" #include "table/control_codes.h" #include "helpers.hpp" +#include "debug.h" #include <stdarg.h> #include <ctype.h> // required for tolower() @@ -47,11 +48,14 @@ assert(dst <= last); for (; *src != '\0' && dst != last; ++dst, ++src) *dst = *src; *dst = '\0'; -#if 1 if (dst == last && *src != '\0') { +#ifdef STRGEN error("String too long for destination buffer"); +#else /* STRGEN */ + DEBUG(misc, 0, "String too long for destination buffer"); + *dst = '\0'; +#endif /* STRGEN */ } -#endif return dst; }