1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-20 05:23:04 +01:00

Ensure set_format_body macro only accepts properly sized arguments

This commit is contained in:
Michał Janiszewski
2017-02-16 16:50:35 +01:00
parent d40bbd7f5c
commit 2dcf33bd42
2 changed files with 5 additions and 3 deletions

View File

@@ -85,9 +85,11 @@ static inline void set_format_arg_body(uint8 *args, size_t offset, uintptr_t val
}
#define set_format_arg(offset, type, value) \
set_format_arg_body(gCommonFormatArgs, offset, (uintptr_t)value, sizeof(type))
do { static_assert(sizeof(type) <= sizeof(uintptr_t), "Type too large"); \
set_format_arg_body(gCommonFormatArgs, offset, (uintptr_t)value, sizeof(type)); } while (0)
#define set_map_tooltip_format_arg(offset, type, value) \
set_format_arg_body(gMapTooltipFormatArgs, offset, (uintptr_t)value, sizeof(type))
do { static_assert(sizeof(type) <= sizeof(uintptr_t), "Type too large"); \
set_format_arg_body(gMapTooltipFormatArgs, offset, (uintptr_t)value, sizeof(type)); } while (0)
#endif