diff options
| author | Stephen Worley <sworley@nvidia.com> | 2022-12-09 19:27:20 -0500 |
|---|---|---|
| committer | Stephen Worley <sworley@nvidia.com> | 2023-02-13 18:12:05 -0500 |
| commit | ee720c5dca5e2d013ba24d824c4760219f79af67 (patch) | |
| tree | 210c368d1e422e4dbf4bbab111988bf993a4eff2 | |
| parent | d3909a21148ea49718d00f42c14b0b9bb0e07182 (diff) | |
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 <sworley@nvidia.com>
| -rw-r--r-- | lib/zebra.h | 15 |
1 files changed, 7 insertions, 8 deletions
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. */ |
