From 1c67c3f92a4399d5a6e914e4b27be3552d4f77ef Mon Sep 17 00:00:00 2001 From: Philippe Teuwen Date: Wed, 6 Mar 2013 23:22:02 +0100 Subject: [PATCH] Fix scan-build warning: cast increases required alignment from 1 to 4 acr122_usb.c:562:20: warning: cast from 'uint8_t *' (aka 'unsigned char *') to 'uint32_t *' (aka 'unsigned int *') increases required alignment from 1 to 4 [-Wcast-align] uint32_t *pu32 = (uint32_t *)u8; ^~~~~~~~~~~~~~ --- libnfc/drivers/acr122_usb.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/libnfc/drivers/acr122_usb.c b/libnfc/drivers/acr122_usb.c index 3608c5b..d2c439f 100644 --- a/libnfc/drivers/acr122_usb.c +++ b/libnfc/drivers/acr122_usb.c @@ -554,13 +554,7 @@ uint32_t htole32(uint32_t u32); uint32_t htole32(uint32_t u32) { - 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; + return (((u32 & 0xff) << 24) + ((u32 & 0xff00) << 8) + ((u32 & 0xff0000) >> 8) + (u32 >> 24)); } static int