From: Stephen Worley Date: Sat, 10 Dec 2022 00:27:20 +0000 (-0500) Subject: lib: make htonll/ntohll compile time and readable X-Git-Tag: base_9.0~402^2~9 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=ee720c5dca5e2d013ba24d824c4760219f79af67;p=mirror%2Ffrr.git lib: make htonll/ntohll compile time and readable Make the htonll/ntohll functions compile time determined since we have MACROS to determine endianess and bonus points it makes it more readable. Signed-off-by: Stephen Worley --- diff --git a/lib/zebra.h b/lib/zebra.h index 455db9c64e..a87398a237 100644 --- a/lib/zebra.h +++ b/lib/zebra.h @@ -338,14 +338,13 @@ struct in_pktinfo { #define strmatch(a,b) (!strcmp((a), (b))) -#define htonll(x) \ - ((1 == htonl(1)) \ - ? (x) \ - : ((uint64_t)htonl((x)&0xFFFFFFFF) << 32) | htonl((x) >> 32)) -#define ntohll(x) \ - ((1 == ntohl(1)) \ - ? (x) \ - : ((uint64_t)ntohl((x)&0xFFFFFFFF) << 32) | ntohl((x) >> 32)) +#if BYTE_ORDER == LITTLE_ENDIAN +#define htonll(x) (((uint64_t)htonl((x)&0xFFFFFFFF) << 32) | htonl((x) >> 32)) +#define ntohll(x) (((uint64_t)ntohl((x)&0xFFFFFFFF) << 32) | ntohl((x) >> 32)) +#else +#define htonll(x) (x) +#define ntohll(x) (x) +#endif #ifndef INADDR_LOOPBACK #define INADDR_LOOPBACK 0x7f000001 /* Internet address 127.0.0.1. */