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>
This commit is contained in:
parent
27d04d4284
commit
02903916dd
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue