endianswap: fix 64-bit byteswap macro on weird compilers

This commit is contained in:
Paper
2025-03-15 23:07:29 -04:00
committed by GitHub
parent d300a31fa7
commit f784cedc0b
+6 -6
View File
@@ -59,12 +59,12 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
# define BYTESWAP_64(x) \
(((x) >> 56) | \
(((x) & 0x00FF000000000000ULL) >> 48) | \
(((x) & 0x0000FF0000000000ULL) >> 40) | \
(((x) & 0x000000FF00000000ULL) >> 32) | \
(((x) & 0x00000000FF000000ULL) << 32) | \
(((x) & 0x0000000000FF0000ULL) << 40) | \
(((x) & 0x000000000000FF00ULL) << 48) | \
(((x) & 0x00FF000000000000ULL) >> 40) | \
(((x) & 0x0000FF0000000000ULL) >> 24) | \
(((x) & 0x000000FF00000000ULL) >> 8) | \
(((x) & 0x00000000FF000000ULL) << 8) | \
(((x) & 0x0000000000FF0000ULL) << 24) | \
(((x) & 0x000000000000FF00ULL) << 40) | \
(((x) & 0x00000000000000FFULL) << 56))
#endif