From ffaf30b6891ecdf782d435e252623586bc05ff8c Mon Sep 17 00:00:00 2001 From: Joseph Lynch Date: Tue, 6 Oct 2015 19:43:18 -0700 Subject: [PATCH] BUILD: Fix the build on OSX (htonll/ntohll) htonll and ntohll were defined in 5b4dd683cb but on osx they are already defined in sys/_endian.h. So, we check if they are defined before declaring them. [wt: no backport needed] --- include/common/standard.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/include/common/standard.h b/include/common/standard.h index d28ab79c8..0fe0fb08b 100644 --- a/include/common/standard.h +++ b/include/common/standard.h @@ -1004,6 +1004,7 @@ static inline unsigned char utf8_return_length(unsigned char code) * the whole code is optimized out. In little endian, with a decent compiler, * a few bswap and 2 shifts are left, which is the minimum acceptable. */ +#ifndef htonll static inline unsigned long long htonll(unsigned long long a) { union { @@ -1015,12 +1016,15 @@ static inline unsigned long long htonll(unsigned long long a) } w = { .by64 = a }; return ((unsigned long long)htonl(w.by32.w1) << 32) | htonl(w.by32.w2); } +#endif /* Turns 64-bit value from network byte order to host byte order. */ +#ifndef ntohll static inline unsigned long long ntohll(unsigned long long a) { return htonll(a); } +#endif /* returns a 64-bit a timestamp with the finest resolution available. The * unit is intentionally not specified. It's mostly used to compare dates.