From be97031bb93c0039f764b15b4b8f0bbc6e4e303c Mon Sep 17 00:00:00 2001 From: Broxzier Date: Tue, 24 Jan 2017 12:01:06 +0100 Subject: [PATCH] Add compiletime asserts to verify size hasn't changed. --- src/openrct2/windows/tile_inspector.c | 1 + src/openrct2/world/map.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/openrct2/windows/tile_inspector.c b/src/openrct2/windows/tile_inspector.c index 0b3f44151f..489a5c2f95 100644 --- a/src/openrct2/windows/tile_inspector.c +++ b/src/openrct2/windows/tile_inspector.c @@ -696,6 +696,7 @@ static void window_tile_inspector_paste_element(rct_window *w) // Construct the data to send using the surface's properties sint32 data[2]; memcpy(&data[0], &tileInspectorCopiedElement, 8); + static_assert(sizeof(data) == sizeof(tileInspectorCopiedElement), "Sizes do not match"); game_do_command( TILE_INSPECTOR_ANY_PASTE, diff --git a/src/openrct2/world/map.c b/src/openrct2/world/map.c index f7a8a6ec3b..bc32c32c1b 100644 --- a/src/openrct2/world/map.c +++ b/src/openrct2/world/map.c @@ -5644,6 +5644,7 @@ void game_command_modify_tile(sint32* eax, sint32* ebx, sint32* ecx, sint32* edx rct_map_element element_to_paste; sint32 data[] = { *edx, *edi }; memcpy(&element_to_paste, data, 8); + static_assert(sizeof(data) == sizeof(element_to_paste), "Sizes do not match"); *ebx = tile_inspector_paste_element_at(x, y, element_to_paste, flags); return; }