From: Bryan Duxbury Date: Fri, 13 Aug 2010 00:17:16 +0000 (+0000) Subject: THRIFT-682. php: PHP extension doesn't compile on Mac OS X X-Git-Tag: 0.4.0~8 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=7b1128c94fa330fdf18300ba24868ef49b510520;p=common%2Fthrift.git THRIFT-682. php: PHP extension doesn't compile on Mac OS X This patch adds a bswap_64 implementation for OS X users. git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@985050 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/lib/php/src/ext/thrift_protocol/php_thrift_protocol.cpp b/lib/php/src/ext/thrift_protocol/php_thrift_protocol.cpp index 641fff2e..193669bb 100644 --- a/lib/php/src/ext/thrift_protocol/php_thrift_protocol.cpp +++ b/lib/php/src/ext/thrift_protocol/php_thrift_protocol.cpp @@ -24,10 +24,23 @@ #include #include #include -#include -#include +#include +#include #include +#ifndef _BYTESWAP_H +#define _BYTESWAP_H + +#define bswap_64(x) (((uint64_t)(x) << 56) | \ + (((uint64_t)(x) << 40) & 0xff000000000000ULL) | \ + (((uint64_t)(x) << 24) & 0xff0000000000ULL) | \ + (((uint64_t)(x) << 8) & 0xff00000000ULL) | \ + (((uint64_t)(x) >> 8) & 0xff000000ULL) | \ + (((uint64_t)(x) >> 24) & 0xff0000ULL) | \ + (((uint64_t)(x) >> 40) & 0xff00ULL) | \ + ((uint64_t)(x) >> 56)) +#endif + #if __BYTE_ORDER == __LITTLE_ENDIAN #define htonll(x) bswap_64(x) #define ntohll(x) bswap_64(x)