X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=compat%2Fbswap.h;h=54756dbb05ba99ab1679f17a50f04c3f1cede8e6;hb=452c6d506b1a6dcf24d4ceaa592afc39c1c1a60e;hp=5cc4acbfccef771769974b9f7cd8f6bca9321354;hpb=ef3a4fd670a4874f9b598ef96b10b89117b806e1;p=git.git diff --git a/compat/bswap.h b/compat/bswap.h index 5cc4acbfc..54756dbb0 100644 --- a/compat/bswap.h +++ b/compat/bswap.h @@ -17,6 +17,8 @@ static inline uint32_t default_swab32(uint32_t val) ((val & 0x000000ff) << 24)); } +#undef bswap32 + #if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) #define bswap32(x) ({ \ @@ -24,10 +26,20 @@ static inline uint32_t default_swab32(uint32_t val) if (__builtin_constant_p(x)) { \ __res = default_swab32(x); \ } else { \ - __asm__("bswap %0" : "=r" (__res) : "0" (x)); \ + __asm__("bswap %0" : "=r" (__res) : "0" ((uint32_t)(x))); \ } \ __res; }) +#elif defined(_MSC_VER) && (defined(_M_IX86) || defined(_M_X64)) + +#include + +#define bswap32(x) _byteswap_ulong(x) + +#endif + +#ifdef bswap32 + #undef ntohl #undef htonl #define ntohl(x) bswap32(x)