diff --git a/components/drivers/fdt/src/dtb_base.c b/components/drivers/fdt/src/dtb_base.c index 86b23a8e1c518c75031ee0ae40489d06e5ed271e..6b1c580d12ca28edf905ec61e8b852bb48b69925 100644 --- a/components/drivers/fdt/src/dtb_base.c +++ b/components/drivers/fdt/src/dtb_base.c @@ -14,7 +14,7 @@ static const char *_parse_integer_fixup_radix(const char *s, unsigned int *base) { if (s[0] == '0') { - if (tolower(s[1]) == 'x' && isxdigit(s[2])) + if (tolower(s[1]) == 'x' && isxdigit((int)s[2])) *base = 16; else *base = 8; @@ -35,7 +35,7 @@ unsigned long simple_strtoul(const char *cp, char **endp, cp = _parse_integer_fixup_radix(cp, &base); - while (isxdigit(*cp) && (value = isdigit(*cp) ? *cp-'0' : (islower(*cp) + while (isxdigit((int)*cp) && (value = isdigit((int)*cp) ? *cp-'0' : (islower((int)*cp) ? toupper(*cp) : *cp)-'A'+10) < base) { result = result*base + value;