From 9677750e3d54779efd9fff98258f4277fb13afac Mon Sep 17 00:00:00 2001 From: Yuxuan Shui Date: Sat, 30 Mar 2019 10:16:15 +0000 Subject: [PATCH] Improve checked cast macros to_{int,char,i16}_checked now works with unsigned types (except uint64_t). Signed-off-by: Yuxuan Shui --- src/utils.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/utils.h b/src/utils.h index 1b29c47..3256838 100644 --- a/src/utils.h +++ b/src/utils.h @@ -54,14 +54,14 @@ safe_isnan(double a) { #define to_int_checked(val) \ ({ \ - auto tmp = (val); \ + int64_t tmp = (val); \ assert(tmp >= INT_MIN && tmp <= INT_MAX); \ (int)tmp; \ }) #define to_char_checked(val) \ ({ \ - auto tmp = (val); \ + int64_t tmp = (val); \ assert(tmp >= CHAR_MIN && tmp <= CHAR_MAX); \ (char)tmp; \ }) @@ -75,7 +75,7 @@ safe_isnan(double a) { #define to_i16_checked(val) \ ({ \ - auto tmp = (val); \ + int64_t tmp = (val); \ assert(tmp >= INT16_MIN && tmp <= INT16_MAX); \ (int16_t) tmp; \ })