diff options
author | Antonio Borneo <borneo.antonio@gmail.com> | 2020-03-26 23:35:08 +0100 |
---|---|---|
committer | Antonio Borneo <borneo.antonio@gmail.com> | 2020-04-12 22:02:01 +0100 |
commit | 02903916dd004f03290bdf766e02ce73151f7d71 (patch) | |
tree | 4f5c79fa0ca99f59e711ddc129c4e1e020379ebf /src/flash | |
parent | 27d04d42842b31a3eb83de965ba7f3dc0fac3142 (diff) | |
download | riscv-openocd-02903916dd004f03290bdf766e02ce73151f7d71.zip riscv-openocd-02903916dd004f03290bdf766e02ce73151f7d71.tar.gz riscv-openocd-02903916dd004f03290bdf766e02ce73151f7d71.tar.bz2 |
flash/nor/nrf5: pass unsigned char to isalnum()
In newlib, the argument of isalnum() and the similar functions in
ctype.h is checked to be either an int or an unsigned char.
Using a normal (signed) char triggers a compile time warning
warning: array subscript has type ‘char’ [-Wchar-subscripts]
Rewrite the function to separate the internal unsigned char
operations from the (signed) char parameter.
Change-Id: I5f19115f0b2de2b5b35dc07ef4b58a96161268ee
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reported-by: Åke Rehnman <ake.rehnman@gmail.com>
Fixes: 5da746fa09 ("flash/nor/nrf5: detect newer devices without HWID table")
Reviewed-on: http://openocd.zylin.com/5545
Tested-by: jenkins
Reviewed-by: Ake Rehnman <ake.rehnman@gmail.com>
Diffstat (limited to 'src/flash')
-rw-r--r-- | src/flash/nor/nrf5.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/flash/nor/nrf5.c b/src/flash/nor/nrf5.c index 8422589..5bef848 100644 --- a/src/flash/nor/nrf5.c +++ b/src/flash/nor/nrf5.c @@ -570,10 +570,14 @@ static int nrf5_protect(struct flash_bank *bank, int set, int first, int last) static bool nrf5_info_variant_to_str(uint32_t variant, char *bf) { - h_u32_to_be((uint8_t *)bf, variant); - bf[4] = '\0'; - if (isalnum(bf[0]) && isalnum(bf[1]) && isalnum(bf[2]) && isalnum(bf[3])) + uint8_t b[4]; + + h_u32_to_be(b, variant); + if (isalnum(b[0]) && isalnum(b[1]) && isalnum(b[2]) && isalnum(b[3])) { + memcpy(bf, b, 4); + bf[4] = 0; return true; + } strcpy(bf, "xxxx"); return false; |