From 8576bfd6c23a2096b6ab5da1147374453f2f77e6 Mon Sep 17 00:00:00 2001 From: Wang Renxin Date: Mon, 29 May 2017 15:38:31 +0800 Subject: [PATCH] *made an independent size define of raw bytes. --- core/my_basic.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/my_basic.h b/core/my_basic.h index f452a7c..c41fbae 100755 --- a/core/my_basic.h +++ b/core/my_basic.h @@ -336,6 +336,10 @@ extern "C" { # define mb_int_val(__v, __d) do { if((__v).type == MB_DT_INT) (__d) = (__v).value.integer; else if((__v).type == MB_DT_REAL) (__d) = (int_t)((__v).value.float_point); else (__d) = ~((int_t)0); } while(0) #endif /* mb_int_val */ +#ifndef mb_bytes_size +# define mb_bytes_size (mb_max(mb_max(mb_max(sizeof(void*), sizeof(unsigned long)), sizeof(int_t)), sizeof(real_t))) +#endif /* mb_bytes_size */ + #ifndef MB_CODES # define MB_CODES # define MB_FUNC_OK 0 @@ -520,7 +524,7 @@ typedef enum mb_meta_status_u { MB_MS_RETURNED = 1 << 1 } mb_meta_status_u; -typedef unsigned char mb_val_bytes_t[mb_max(mb_max(sizeof(void*), sizeof(unsigned long)), mb_max(sizeof(int_t), sizeof(real_t)))]; +typedef unsigned char mb_val_bytes_t[mb_bytes_size]; typedef union mb_value_u { int_t integer;