summaryrefslogtreecommitdiff
path: root/core/include/fxcrt/fx_system.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/include/fxcrt/fx_system.h')
-rw-r--r--core/include/fxcrt/fx_system.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/core/include/fxcrt/fx_system.h b/core/include/fxcrt/fx_system.h
index 76c413e7e3..f62e126fbb 100644
--- a/core/include/fxcrt/fx_system.h
+++ b/core/include/fxcrt/fx_system.h
@@ -258,10 +258,12 @@ wchar_t* FXSYS_wcsupr(wchar_t* str);
#define FXDWORD_FROM_MSBFIRST(i) \
(((uint8_t)(i) << 24) | ((uint8_t)((i) >> 8) << 16) | \
((uint8_t)((i) >> 16) << 8) | (uint8_t)((i) >> 24))
-#define FXDWORD_GET_LSBFIRST(p) \
- ((p[3] << 24) | (p[2] << 16) | (p[1] << 8) | (p[0]))
-#define FXDWORD_GET_MSBFIRST(p) \
- ((p[0] << 24) | (p[1] << 16) | (p[2] << 8) | (p[3]))
+#define FXDWORD_GET_LSBFIRST(p) \
+ ((static_cast<FX_DWORD>(p[3]) << 24) | (static_cast<FX_DWORD>(p[2]) << 16) | \
+ (static_cast<FX_DWORD>(p[1]) << 8) | (static_cast<FX_DWORD>(p[0])))
+#define FXDWORD_GET_MSBFIRST(p) \
+ ((static_cast<FX_DWORD>(p[0]) << 24) | (static_cast<FX_DWORD>(p[1]) << 16) | \
+ (static_cast<FX_DWORD>(p[2]) << 8) | (static_cast<FX_DWORD>(p[3])))
#define FXSYS_HIBYTE(word) ((uint8_t)((word) >> 8))
#define FXSYS_LOBYTE(word) ((uint8_t)(word))
#define FXSYS_HIWORD(dword) ((FX_WORD)((dword) >> 16))