This is an automated email from Gerrit.

"Antonio Borneo <borneo.anto...@gmail.com>" just uploaded a new patch set to 
Gerrit, which you can find at https://review.openocd.org/c/openocd/+/7670

-- gerrit

commit 139a4c13ec50e7a19c376271354d143e765e7923
Author: Antonio Borneo <borneo.anto...@gmail.com>
Date:   Sat May 6 16:35:57 2023 +0200

    helper: types: rework h_u32_to_le() and similar for sparse
    
    The static analyser 'sparse' complains about values bigger that
    255 that gets cast-ed and/or stored in an 8 bit variable.
    
    Rework the functions:
    - h_u32_to_le()
    - h_u32_to_be()
    - h_u24_to_le()
    - h_u24_to_be()
    - h_u16_to_le()
    - h_u16_to_be()
    to avoid all the related warnings, without adding any functional
    change. Any modern compiler should not be impacted by this.
    
    Change-Id: I0b84043600a41c72d0e4ddb3dd195d69e3b2896b
    Signed-off-by: Antonio Borneo <borneo.anto...@gmail.com>

diff --git a/src/helper/types.h b/src/helper/types.h
index 587ed22c89..53249e5b79 100644
--- a/src/helper/types.h
+++ b/src/helper/types.h
@@ -177,44 +177,44 @@ static inline void h_u64_to_be(uint8_t *buf, uint64_t val)
 
 static inline void h_u32_to_le(uint8_t *buf, uint32_t val)
 {
-       buf[3] = (uint8_t) (val >> 24);
-       buf[2] = (uint8_t) (val >> 16);
-       buf[1] = (uint8_t) (val >> 8);
-       buf[0] = (uint8_t) (val >> 0);
+       buf[3] = (val >> 24) & 0xff;
+       buf[2] = (val >> 16) & 0xff;
+       buf[1] = (val >> 8) & 0xff;
+       buf[0] = (val >> 0) & 0xff;
 }
 
 static inline void h_u32_to_be(uint8_t *buf, uint32_t val)
 {
-       buf[0] = (uint8_t) (val >> 24);
-       buf[1] = (uint8_t) (val >> 16);
-       buf[2] = (uint8_t) (val >> 8);
-       buf[3] = (uint8_t) (val >> 0);
+       buf[0] = (val >> 24) & 0xff;
+       buf[1] = (val >> 16) & 0xff;
+       buf[2] = (val >> 8) & 0xff;
+       buf[3] = (val >> 0) & 0xff;
 }
 
 static inline void h_u24_to_le(uint8_t *buf, unsigned int val)
 {
-       buf[2] = (uint8_t) (val >> 16);
-       buf[1] = (uint8_t) (val >> 8);
-       buf[0] = (uint8_t) (val >> 0);
+       buf[2] = (val >> 16) & 0xff;
+       buf[1] = (val >> 8) & 0xff;
+       buf[0] = (val >> 0) & 0xff;
 }
 
 static inline void h_u24_to_be(uint8_t *buf, unsigned int val)
 {
-       buf[0] = (uint8_t) (val >> 16);
-       buf[1] = (uint8_t) (val >> 8);
-       buf[2] = (uint8_t) (val >> 0);
+       buf[0] = (val >> 16) & 0xff;
+       buf[1] = (val >> 8) & 0xff;
+       buf[2] = (val >> 0) & 0xff;
 }
 
 static inline void h_u16_to_le(uint8_t *buf, uint16_t val)
 {
-       buf[1] = (uint8_t) (val >> 8);
-       buf[0] = (uint8_t) (val >> 0);
+       buf[1] = (val >> 8) & 0xff;
+       buf[0] = (val >> 0) & 0xff;
 }
 
 static inline void h_u16_to_be(uint8_t *buf, uint16_t val)
 {
-       buf[0] = (uint8_t) (val >> 8);
-       buf[1] = (uint8_t) (val >> 0);
+       buf[0] = (val >> 8) & 0xff;
+       buf[1] = (val >> 0) & 0xff;
 }
 
 /**

-- 

Reply via email to