From a8cbc03acced1c382113825b1708c93edb61d28f Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Sun, 26 Feb 2017 22:45:03 +0100 Subject: CRYO: Improve macro safety --- engines/cryo/eden.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engines/cryo/eden.cpp b/engines/cryo/eden.cpp index ead31315fd..84b976a7aa 100644 --- a/engines/cryo/eden.cpp +++ b/engines/cryo/eden.cpp @@ -6544,8 +6544,8 @@ void EdenGame::loadgame(char *name) { } #define NULLPTR 0xFFFFFF -#define IDXOUT(val, base, typ, idx) if (val) (idx) = ((byte*)val - (byte*)base) / sizeof(typ); else (idx) = NULLPTR; -#define OFSIN(val, base, typ) if ((void*)(val) != NULLPTR) (val) = (typ*)((char*)(val) + (size_t)(base)); else (val) = 0; +#define IDXOUT(val, base, typ, idx) do { if (val) (idx) = ((byte*)val - (byte*)base) / sizeof(typ); else (idx) = NULLPTR; } while (false) +#define OFSIN(val, base, typ) do { if ((void*)(val) != NULLPTR) (val) = (typ*)((char*)(val) + (size_t)(base)); else (val) = 0; } while (false) void EdenGame::syncGlobalPointers(Common::Serializer s) { uint32 dialogIdx, nextDialogIdx, narratorDialogIdx, lastDialogIdx, tapeIdx, nextRoomIconIdx, roomIdx; -- cgit v1.2.3