--- msgpack/pack_template.h	2022-05-23 13:55:10.000000000 +0800
+++ msgpack/pack_template.h	2024-06-08 02:53:32.000000000 +0800
@@ -554,7 +554,7 @@
     if ((seconds >> 34) == 0) {
         /* seconds is unsigned and fits in 34 bits */
         uint64_t data64 = ((uint64_t)nanoseconds << 34) | (uint64_t)seconds;
-        if ((data64 & 0xffffffff00000000L) == 0) {
+        if ((data64 & 0xffffffff00000000ULL) == 0) {
             /* no nanoseconds and seconds is 32bits or smaller. timestamp32. */
             unsigned char buf[4];
             uint32_t data32 = (uint32_t)data64;
