diff options
author | Gabe Black <gabeblack@google.com> | 2013-01-31 04:27:39 -0800 |
---|---|---|
committer | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2013-03-13 19:12:31 +0100 |
commit | 2def2625e0b49ea3ae85ae8b821979e5901c6638 (patch) | |
tree | a8187d8a1a83b99c531772b01540c6458a68a289 | |
parent | b53a73ef7726ccbaea73cb560b6f72cdb166eb50 (diff) | |
download | coreboot-2def2625e0b49ea3ae85ae8b821979e5901c6638.tar.gz coreboot-2def2625e0b49ea3ae85ae8b821979e5901c6638.tar.bz2 coreboot-2def2625e0b49ea3ae85ae8b821979e5901c6638.zip |
libpayload: Add more parenthesis to the endian conversion macros
There weren't enough parenthesis in the macros so operations might only apply
to the last part of an expression passed in as an argument.
Change-Id: I5afb406f9409986e45bbbc598bcbd0dd8507ed35
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: http://review.coreboot.org/2665
Tested-by: build bot (Jenkins)
Reviewed-by: Marc Jones <marc.jones@se-eng.com>
-rw-r--r-- | payloads/libpayload/include/endian.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/payloads/libpayload/include/endian.h b/payloads/libpayload/include/endian.h index 941dd1012fb3..ee9cf136a0ff 100644 --- a/payloads/libpayload/include/endian.h +++ b/payloads/libpayload/include/endian.h @@ -26,9 +26,10 @@ #include <arch/types.h> #include <libpayload-config.h> -#define swap_bytes16(in) (((in & 0xFF) << 8) | ((in & 0xFF00) >> 8)) -#define swap_bytes32(in) (((in & 0xFF) << 24) | ((in & 0xFF00) << 8) | \ - ((in & 0xFF0000) >> 8) | ((in & 0xFF000000) >> 24)) +#define swap_bytes16(in) ((((in) & 0xFF) << 8) | (((in) & 0xFF00) >> 8)) +#define swap_bytes32(in) ((((in) & 0xFF) << 24) | (((in) & 0xFF00) << 8) | \ + (((in) & 0xFF0000) >> 8) | \ + (((in) & 0xFF000000) >> 24)) #define swap_bytes64(in) (((uint64_t)swap_bytes32((uint32_t)(in)) << 32) | \ ((uint64_t)swap_bytes32((uint32_t)((in) >> 32)))) |