]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Use C99 macros to define 64-bit constants and maximum 64-bit values.
authorGuy Harris <[email protected]>
Sat, 7 Dec 2024 23:21:41 +0000 (15:21 -0800)
committerfxlb <[email protected]>
Fri, 28 Mar 2025 14:44:07 +0000 (14:44 +0000)
We require C99 support, so don't roll our own versions.

(cherry picked from commit dcb1b03409b91aa3c68156817b953781f35bc3a2)

extract.h
netdissect-stdinc.h
ntp.c
tcpdump.c

index c1b486d37a7e0ad4a4d869b910e4ffcce10bb499..3abffbca21771c213fd1661d8c033cb3b56e022e 100644 (file)
--- a/extract.h
+++ b/extract.h
@@ -415,7 +415,7 @@ EXTRACT_IPV4_TO_NETWORK_ORDER(const void *p)
                     ((uint64_t)(*((const uint8_t *)(p) + 2)) << 16) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 3)) << 8) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 4)) << 0))) : \
-         ((int64_t)(INT64_T_CONSTANT(0xFFFFFF0000000000U) | \
+         ((int64_t)(UINT64_C(0xFFFFFF0000000000) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 0)) << 32) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 1)) << 24) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 2)) << 16) | \
@@ -438,7 +438,7 @@ EXTRACT_IPV4_TO_NETWORK_ORDER(const void *p)
                      ((uint64_t)(*((const uint8_t *)(p) + 3)) << 16) | \
                      ((uint64_t)(*((const uint8_t *)(p) + 4)) << 8) | \
                      ((uint64_t)(*((const uint8_t *)(p) + 5)) << 0))) : \
-         ((int64_t)(INT64_T_CONSTANT(0xFFFFFFFF00000000U) | \
+         ((int64_t)(UINT64_C(0xFFFFFFFF00000000) | \
                      ((uint64_t)(*((const uint8_t *)(p) + 0)) << 40) | \
                      ((uint64_t)(*((const uint8_t *)(p) + 1)) << 32) | \
                      ((uint64_t)(*((const uint8_t *)(p) + 2)) << 24) | \
@@ -464,7 +464,7 @@ EXTRACT_IPV4_TO_NETWORK_ORDER(const void *p)
                     ((uint64_t)(*((const uint8_t *)(p) + 4)) << 16) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 5)) << 8) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 6)) << 0))) : \
-           ((int64_t)(INT64_T_CONSTANT(0xFFFFFFFFFF000000U) | \
+           ((int64_t)(UINT64_C(0xFFFFFFFFFF000000) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 0)) << 48) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 1)) << 40) | \
                     ((uint64_t)(*((const uint8_t *)(p) + 2)) << 32) | \
index e81c90bd590b080dfb3f66ef24dfc5ae982d90b8..f4e5fb98abed92918522c1f3e6bcccc40832fbe1 100644 (file)
    * strtoint64_t().
    */
   #define strtoint64_t strtoll
-
-  /*
-   * And we have LL as a suffix for constants, so use that.
-   */
-  #define INT64_T_CONSTANT(constant)   (constant##LL)
 #else
   /*
    * Non-Microsoft compiler.
    * XXX - should we use strtoll or should we use _strtoi64()?
    */
   #define strtoint64_t         strtoll
-
-  /*
-   * Assume LL works.
-   */
-  #define INT64_T_CONSTANT(constant)   (constant##LL)
 #endif
 
 #ifdef _MSC_VER
@@ -251,11 +241,6 @@ typedef char *caddr_t;
  * Assume all UN*Xes have strtoll(), and use it for strtoint64_t().
  */
 #define strtoint64_t   strtoll
-
-/*
- * Assume LL works.
- */
-#define INT64_T_CONSTANT(constant)     (constant##LL)
 #endif /* _WIN32 */
 
 /*
diff --git a/ntp.c b/ntp.c
index 6c4b7f32fde787c5e31129d4a43e5722702fc766..c9d60fae3a9732b14a1de2af080e726614843762 100644 (file)
--- a/ntp.c
+++ b/ntp.c
@@ -26,7 +26,7 @@
 
 #include "extract.h"
 
-#define        JAN_1970        INT64_T_CONSTANT(2208988800)    /* 1970 - 1900 in seconds */
+#define        JAN_1970        INT64_C(2208988800)     /* 1970 - 1900 in seconds */
 
 void
 p_ntp_time_fmt(netdissect_options *ndo, const char *fmt,
index 3e69e207623db7c0b3ccbc88e56195fffdd77156..74d78beb250415b5110d9a41f73acf8d535df3c3 100644 (file)
--- a/tcpdump.c
+++ b/tcpdump.c
@@ -1827,7 +1827,7 @@ main(int argc, char **argv)
                         * Will multiplying it by multiplier overflow?
                         */
 #ifdef HAVE_PCAP_DUMP_FTELL64
-                       if (Cflag > INT64_T_CONSTANT(0x7fffffffffffffff) / Cflagmult)
+                       if (Cflag > INT64_MAX / Cflagmult)
 #else
                        if (Cflag > LONG_MAX / Cflagmult)
 #endif