[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Add missing cast in compile-time byteswaps
From: |
Vladimir Serbinenko |
Subject: |
[PATCH] Add missing cast in compile-time byteswaps |
Date: |
Thu, 16 May 2024 22:22:58 +0300 |
Without them 0x80LL is 32-bit byte-swapped to 0xffffffff80000000 instead
of correct 0x80000000
Signed-off-by: Vladimir Serbinenko <phcoder@gmail.com>
---
include/grub/types.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/grub/types.h b/include/grub/types.h
index 064066e2e..45079bf65 100644
--- a/include/grub/types.h
+++ b/include/grub/types.h
@@ -196,8 +196,8 @@ static inline grub_uint16_t grub_swap_bytes16(grub_uint16_t
_x)
return (grub_uint16_t) ((_x << 8) | (_x >> 8));
}
-#define grub_swap_bytes16_compile_time(x) ((((x) & 0xff) << 8) | (((x) &
0xff00) >> 8))
-#define grub_swap_bytes32_compile_time(x) ((((x) & 0xff) << 24) | (((x) &
0xff00) << 8) | (((x) & 0xff0000) >> 8) | (((x) & 0xff000000UL) >> 24))
+#define grub_swap_bytes16_compile_time(x) ((grub_uint16_t)((((x) & 0xff) << 8)
| (((x) & 0xff00) >> 8)))
+#define grub_swap_bytes32_compile_time(x) ((grub_uint32_t)((((x) & 0xff) <<
24) | (((x) & 0xff00) << 8) | (((x) & 0xff0000) >> 8) | (((x) & 0xff000000UL)
>> 24)))
#define grub_swap_bytes64_compile_time(x) \
({ \
grub_uint64_t _x = (x); \
--
2.39.2
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH] Add missing cast in compile-time byteswaps,
Vladimir Serbinenko <=