X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=libmemcached%2Fbyteorder.cc;h=44500add8832a8fd33ec318a874575e21a3ae623;hb=1be11f8bb8fdf368985d9e1c900b250541dc4791;hp=ab35a9efef70e4200e39d55098c758f17124e194;hpb=ae6bc7501efd5aeaaee92dabe2da0ec2d1625c5b;p=awesomized%2Flibmemcached diff --git a/libmemcached/byteorder.cc b/libmemcached/byteorder.cc index ab35a9ef..44500add 100644 --- a/libmemcached/byteorder.cc +++ b/libmemcached/byteorder.cc @@ -35,7 +35,8 @@ * */ -#include +#include "mem_config.h" +#include "libmemcached/byteorder.h" /* Byte swap a 64-bit number. */ #ifndef swap64 @@ -45,7 +46,7 @@ static inline uint64_t swap64(uint64_t in) /* Little endian, flip the bytes around until someone makes a faster/better * way to do this. */ uint64_t rv= 0; - for (uint8_t x= 0; x < 8; x++) + for (uint8_t x= 0; x < 8; ++x) { rv= (rv << 8) | (in & 0xff); in >>= 8; @@ -58,12 +59,24 @@ static inline uint64_t swap64(uint64_t in) } #endif +#ifdef HAVE_SYS_TYPES_H +# include +#endif + uint64_t memcached_ntohll(uint64_t value) { +#ifdef HAVE_HTONLL + return ntohll(value); +#else return swap64(value); +#endif } uint64_t memcached_htonll(uint64_t value) { +#ifdef HAVE_HTONLL + return htonll(value); +#else return swap64(value); +#endif }