[coreboot] New patch to review for coreboot: 6ade5f7 libpayload: Add more parenthesis to the endian conversion macros

Stefan Reinauer (stefan.reinauer@coreboot.org) gerrit at coreboot.org
Tue Mar 12 22:03:59 CET 2013


Stefan Reinauer (stefan.reinauer at coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/2665

-gerrit

commit 6ade5f7e9c505ae959aec851b184a0e8ef02ba59
Author: Gabe Black <gabeblack at google.com>
Date:   Thu Jan 31 04:27:39 2013 -0800

    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 at google.com>
---
 payloads/libpayload/include/endian.h | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/payloads/libpayload/include/endian.h b/payloads/libpayload/include/endian.h
index cd805e0..42237ea 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))))
 



More information about the coreboot mailing list