From c5a365896a6a6427eed173d1dc823ec0bbe7c45a Mon Sep 17 00:00:00 2001
From: Joseph Lynch <joe.e.lynch@gmail.com>
Date: Tue, 6 Oct 2015 19:43:18 -0700
Subject: [PATCH] Fixes the build on OSX

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.
---
 include/common/standard.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/common/standard.h b/include/common/standard.h
index d28ab79..0fe0fb0 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 <a> 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.
-- 
2.4.5

