1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-31 18:39:10 +00:00

(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.

This commit is contained in:
rubidium
2007-07-14 22:37:40 +00:00
parent 6ba71707f2
commit 197245eefe

View File

@@ -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 @@ char* strecpy(char* dst, const char* src, const char* last)
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;
}