diff --git a/libnfc/drivers/acr122_usb.c b/libnfc/drivers/acr122_usb.c index 95b7a49..0c462ea 100644 --- a/libnfc/drivers/acr122_usb.c +++ b/libnfc/drivers/acr122_usb.c @@ -517,7 +517,13 @@ uint32_t htole32(uint32_t u32); uint32_t htole32(uint32_t u32) { - return (((u32 & 0xff) << 24) + ((u32 & 0xff00) << 8) + ((u32 & 0xff0000) >> 8) + (u32 >> 24)); + uint8_t u8[4]; + for (int i = 0; i < 4; i++) { + u8[i] = (u32 & 0xff); + u32 >>= 8; + } + uint32_t *pu32 = (uint32_t *)u8; + return *pu32; } static int