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.antonio@gmail.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/7670
Tested-by: jenkins
This commit is contained in:
Antonio Borneo 2023-05-06 16:35:57 +02:00
parent d15f58ad4c
commit d2afdefd26
1 changed files with 18 additions and 18 deletions

View File

@ -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) static inline void h_u32_to_le(uint8_t *buf, uint32_t val)
{ {
buf[3] = (uint8_t) (val >> 24); buf[3] = (val >> 24) & 0xff;
buf[2] = (uint8_t) (val >> 16); buf[2] = (val >> 16) & 0xff;
buf[1] = (uint8_t) (val >> 8); buf[1] = (val >> 8) & 0xff;
buf[0] = (uint8_t) (val >> 0); buf[0] = (val >> 0) & 0xff;
} }
static inline void h_u32_to_be(uint8_t *buf, uint32_t val) static inline void h_u32_to_be(uint8_t *buf, uint32_t val)
{ {
buf[0] = (uint8_t) (val >> 24); buf[0] = (val >> 24) & 0xff;
buf[1] = (uint8_t) (val >> 16); buf[1] = (val >> 16) & 0xff;
buf[2] = (uint8_t) (val >> 8); buf[2] = (val >> 8) & 0xff;
buf[3] = (uint8_t) (val >> 0); buf[3] = (val >> 0) & 0xff;
} }
static inline void h_u24_to_le(uint8_t *buf, unsigned int val) static inline void h_u24_to_le(uint8_t *buf, unsigned int val)
{ {
buf[2] = (uint8_t) (val >> 16); buf[2] = (val >> 16) & 0xff;
buf[1] = (uint8_t) (val >> 8); buf[1] = (val >> 8) & 0xff;
buf[0] = (uint8_t) (val >> 0); buf[0] = (val >> 0) & 0xff;
} }
static inline void h_u24_to_be(uint8_t *buf, unsigned int val) static inline void h_u24_to_be(uint8_t *buf, unsigned int val)
{ {
buf[0] = (uint8_t) (val >> 16); buf[0] = (val >> 16) & 0xff;
buf[1] = (uint8_t) (val >> 8); buf[1] = (val >> 8) & 0xff;
buf[2] = (uint8_t) (val >> 0); buf[2] = (val >> 0) & 0xff;
} }
static inline void h_u16_to_le(uint8_t *buf, uint16_t val) static inline void h_u16_to_le(uint8_t *buf, uint16_t val)
{ {
buf[1] = (uint8_t) (val >> 8); buf[1] = (val >> 8) & 0xff;
buf[0] = (uint8_t) (val >> 0); buf[0] = (val >> 0) & 0xff;
} }
static inline void h_u16_to_be(uint8_t *buf, uint16_t val) static inline void h_u16_to_be(uint8_t *buf, uint16_t val)
{ {
buf[0] = (uint8_t) (val >> 8); buf[0] = (val >> 8) & 0xff;
buf[1] = (uint8_t) (val >> 0); buf[1] = (val >> 0) & 0xff;
} }
/** /**