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]
This commit is contained in:
parent
067ac9f4b6
commit
ffaf30b689
@ -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,
|
* 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.
|
* 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)
|
static inline unsigned long long htonll(unsigned long long a)
|
||||||
{
|
{
|
||||||
union {
|
union {
|
||||||
@ -1015,12 +1016,15 @@ static inline unsigned long long htonll(unsigned long long a)
|
|||||||
} w = { .by64 = a };
|
} w = { .by64 = a };
|
||||||
return ((unsigned long long)htonl(w.by32.w1) << 32) | htonl(w.by32.w2);
|
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. */
|
/* 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)
|
static inline unsigned long long ntohll(unsigned long long a)
|
||||||
{
|
{
|
||||||
return htonll(a);
|
return htonll(a);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* returns a 64-bit a timestamp with the finest resolution available. The
|
/* returns a 64-bit a timestamp with the finest resolution available. The
|
||||||
* unit is intentionally not specified. It's mostly used to compare dates.
|
* unit is intentionally not specified. It's mostly used to compare dates.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user