diff --git a/include/amqpcpp/endian.h b/include/amqpcpp/endian.h index 8662464..f1adab9 100644 --- a/include/amqpcpp/endian.h +++ b/include/amqpcpp/endian.h @@ -72,7 +72,7 @@ #define be32toh(x) ntohl(x) #define le32toh(x) (x) -#define htobe64(x) htonll(x) +#define htobe64(x) ((1==htonl(1)) ? (x) : ((uint64_t)htonl((x) & 0xFFFFFFFF) << 32) | htonl((x) >> 32)) #define htole64(x) (x) #define be64toh(x) ntohll(x) #define le64toh(x) (x)