summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2005-12-13 07:32:06 +0000
committerpeter1138 <peter1138@openttd.org>2005-12-13 07:32:06 +0000
commit07c3abfe92c80b110438ae40f1263ddd7fb3a86c (patch)
treec8c60bcc4a76541693ccd59a9ec5b2240116bf54
parent2dc8e0c3d9707dd963750f6553615360c4e03aa7 (diff)
downloadopenttd-07c3abfe92c80b110438ae40f1263ddd7fb3a86c.tar.xz
(svn r3290) - Fix: "[ 1360054 ] Rename Sign, Cause Game Crash, nightly version r3213": Added filter to test for valid character input.
-rw-r--r--macros.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/macros.h b/macros.h
index acf6a6c6b..7d886fbe0 100644
--- a/macros.h
+++ b/macros.h
@@ -167,7 +167,11 @@ static inline void swap_tile(TileIndex *a, TileIndex *b) { TileIndex t = *a; *a
/* IS_INT_INSIDE = filter for ascii-function codes like BELL and so on [we need an special filter here later] */
static inline bool IsValidAsciiChar(byte key)
{
- return IS_INT_INSIDE(key, ' ', 256);
+ // XXX This filter stops certain crashes, but may be too restrictive.
+ return IS_INT_INSIDE(key, ' ', 127) ||
+ (IS_INT_INSIDE(key, 160, 256) &&
+ key != 0xAA && key != 0xAC && key != 0xAD && key != 0xAF &&
+ key != 0xB5 && key != 0xB6 && key != 0xB7 && key != 0xB9);
}
#endif /* MACROS_H */