Merge pull request #201 from ccawley2011/fix-byteswap
Fix compilation of generic byteswap routines
This commit is contained in:
commit
0117457865
1 changed files with 14 additions and 11 deletions
|
@ -82,14 +82,14 @@ inline uint64_t gbswap_64(uint64_t host_int) {
|
||||||
#elif defined(__GLIBC__)
|
#elif defined(__GLIBC__)
|
||||||
return bswap_64(host_int);
|
return bswap_64(host_int);
|
||||||
#else
|
#else
|
||||||
return (((x & uint64_t{(0xFF}) << 56) |
|
return (((host_int & uint64_t{0xFF}) << 56) |
|
||||||
((x & uint64_t{(0xFF00}) << 40) |
|
((host_int & uint64_t{0xFF00}) << 40) |
|
||||||
((x & uint64_t{(0xFF0000}) << 24) |
|
((host_int & uint64_t{0xFF0000}) << 24) |
|
||||||
((x & uint64_t{(0xFF000000}) << 8) |
|
((host_int & uint64_t{0xFF000000}) << 8) |
|
||||||
((x & uint64_t{(0xFF00000000}) >> 8) |
|
((host_int & uint64_t{0xFF00000000}) >> 8) |
|
||||||
((x & uint64_t{(0xFF0000000000}) >> 24) |
|
((host_int & uint64_t{0xFF0000000000}) >> 24) |
|
||||||
((x & uint64_t{(0xFF000000000000}) >> 40) |
|
((host_int & uint64_t{0xFF000000000000}) >> 40) |
|
||||||
((x & uint64_t{(0xFF00000000000000}) >> 56));
|
((host_int & uint64_t{0xFF00000000000000}) >> 56));
|
||||||
#endif // bswap_64
|
#endif // bswap_64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,8 +97,10 @@ inline uint32_t gbswap_32(uint32_t host_int) {
|
||||||
#if defined(__GLIBC__)
|
#if defined(__GLIBC__)
|
||||||
return bswap_32(host_int);
|
return bswap_32(host_int);
|
||||||
#else
|
#else
|
||||||
return (((x & 0xFF) << 24) | ((x & 0xFF00) << 8) | ((x & 0xFF0000) >> 8) |
|
return (((host_int & uint32_t{0xFF}) << 24) |
|
||||||
((x & 0xFF000000) >> 24));
|
((host_int & uint32_t{0xFF00}) << 8) |
|
||||||
|
((host_int & uint32_t{0xFF0000}) >> 8) |
|
||||||
|
((host_int & uint32_t{0xFF000000}) >> 24));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +108,8 @@ inline uint16_t gbswap_16(uint16_t host_int) {
|
||||||
#if defined(__GLIBC__)
|
#if defined(__GLIBC__)
|
||||||
return bswap_16(host_int);
|
return bswap_16(host_int);
|
||||||
#else
|
#else
|
||||||
return uint16_t{((x & 0xFF) << 8) | ((x & 0xFF00) >> 8)};
|
return (((host_int & uint16_t{0xFF}) << 8) |
|
||||||
|
((host_int & uint16_t{0xFF00}) >> 8));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue