diff --git a/py/parsenum.c b/py/parsenum.c index c73ae54a1..0915098d6 100644 --- a/py/parsenum.c +++ b/py/parsenum.c @@ -81,7 +81,7 @@ mp_obj_t mp_parse_num_integer(const char *restrict str_, size_t len, int base, m for (; str < top; str++) { // get next digit as a value mp_uint_t dig = *str; - if (unichar_isdigit(dig) && dig - '0' < base) { + if (unichar_isdigit(dig) && (int)dig - '0' < base) { // 0-9 digit dig = dig - '0'; } else if (base == 16) { diff --git a/py/parsenumbase.c b/py/parsenumbase.c index 8d057af18..73a3372f0 100644 --- a/py/parsenumbase.c +++ b/py/parsenumbase.c @@ -24,7 +24,9 @@ * THE SOFTWARE. */ -#include "py/parsenum.h" +#include "py/mpconfig.h" +#include "py/misc.h" +#include "py/parsenumbase.h" // find real radix base, and strip preceding '0x', '0o' and '0b' // puts base in *base, and returns number of bytes to skip the prefix