aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Borneo <borneo.antonio@gmail.com>2023-05-06 16:35:57 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2023-05-18 10:12:16 +0000
commitd2afdefd264f088c2c1057026037cfe5b5a86413 (patch)
tree12ab25e3633e4b1bf0b76dc3df7e7771442938b9
parentd15f58ad4c451ca30478d26a89295c65b7257d0d (diff)
downloadriscv-openocd-d2afdefd264f088c2c1057026037cfe5b5a86413.zip
riscv-openocd-d2afdefd264f088c2c1057026037cfe5b5a86413.tar.gz
riscv-openocd-d2afdefd264f088c2c1057026037cfe5b5a86413.tar.bz2
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
-rw-r--r--src/helper/types.h36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/helper/types.h b/src/helper/types.h
index 587ed22..53249e5 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;
}
/**