--- libsrc/Wi/date.h.orig 2023-06-07 19:59:14.000000000 +0800 +++ libsrc/Wi/date.h 2025-09-08 16:48:49.000000000 +0800 @@ -207,16 +207,16 @@ #define DT_CAST_TO_TOTAL_SECONDS(dt) ((boxint)DT_DAY (dt) * 24 * 60 * 60 + (boxint)DT_HOUR (dt) * 60 * 60 + (boxint)DT_MINUTE (dt) * 60 + DT_SECOND (dt)) #ifdef WORDS_BIGENDIAN -#define memcpy_dt(tgt, src) memcpy (tgt, src, DT_LENGTH) -#define memcmp_dt(dt1, dt2) \ - { if (memcmp (dt1, dt2, DT_CMP_LENGTH)) goto neq;} +#define memcpy_dt(tgt, src) memcpy((tgt), (src), DT_LENGTH) +#define memcmp_dt(dt1, dt2, neq) \ + do {if (memcmp((dt1), (dt2), 10)) goto neq; \ + } while (0) #else #define memcpy_dt(tgt1, src1) \ { db_buf_t __tgt = (db_buf_t)tgt1, __src = (db_buf_t)src1; \ *(int64*)(__tgt) = *(int64*)(__src); \ *(short*)(__tgt + 8) = *(short*)((__src) + 8); \ } - #define memcmp_dt(dt1, dt2, neq) \ {if (*(int64*)(dt1) != *(int64*)(dt2)) goto neq;} #endif