From 8cf30176cba2ba29fd6ec7454f1c02c216f67ac7 Mon Sep 17 00:00:00 2001 From: WinterMute Date: Fri, 14 Jun 2019 10:52:52 +0100 Subject: [PATCH] fix usage of ctype macros --- fusee/fusee-primary/src/lib/vsprintf.c | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/fusee/fusee-primary/src/lib/vsprintf.c b/fusee/fusee-primary/src/lib/vsprintf.c index d934144c9..c646f9f90 100644 --- a/fusee/fusee-primary/src/lib/vsprintf.c +++ b/fusee/fusee-primary/src/lib/vsprintf.c @@ -71,7 +71,7 @@ static inline char *pack_hex_byte(char *buf, uint8_t byte) */ static char *skip_spaces(const char *str) { - while (isspace(*str)) + while (isspace((unsigned char)*str)) ++str; return (char *)str; } @@ -83,7 +83,7 @@ static char *skip_spaces(const char *str) static unsigned int simple_guess_base(const char *cp) { if (cp[0] == '0') { - if (TOLOWER(cp[1]) == 'x' && isxdigit(cp[2])) + if (TOLOWER(cp[1]) == 'x' && isxdigit((unsigned char)cp[2])) return 16; else return 8; @@ -108,10 +108,10 @@ unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int bas if (base == 16 && cp[0] == '0' && TOLOWER(cp[1]) == 'x') cp += 2; - while (isxdigit(*cp)) { + while (isxdigit((unsigned char)*cp)) { unsigned int value; - value = isdigit(*cp) ? *cp - '0' : TOLOWER(*cp) - 'a' + 10; + value = isdigit((unsigned char)*cp) ? *cp - '0' : TOLOWER(*cp) - 'a' + 10; if (value >= base) break; result = result * base + value; @@ -167,7 +167,7 @@ int skip_atoi(const char **s) { int i = 0; - while (isdigit(**s)) + while (isdigit((unsigned char)**s)) i = i*10 + *((*s)++) - '0'; return i; @@ -654,7 +654,7 @@ int format_decode(const char *fmt, struct printf_spec *spec) /* get field width */ spec->field_width = -1; - if (isdigit(*fmt)) + if (isdigit((unsigned char)*fmt)) spec->field_width = skip_atoi(&fmt); else if (*fmt == '*') { /* it's the next argument */ @@ -667,7 +667,7 @@ precision: spec->precision = -1; if (*fmt == '.') { ++fmt; - if (isdigit(*fmt)) { + if (isdigit((unsigned char)*fmt)) { spec->precision = skip_atoi(&fmt); if (spec->precision < 0) spec->precision = 0; @@ -882,7 +882,7 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args) case FORMAT_TYPE_PTR: str = pointer(fmt+1, str, end, va_arg(args, void *), spec); - while (isalnum(*fmt)) + while (isalnum((unsigned char)*fmt)) fmt++; break; @@ -1456,7 +1456,7 @@ int vsscanf(const char *buf, const char *fmt, va_list args) /* white space in format matchs any amount of * white space, including none, in the input. */ - if (isspace(*fmt)) { + if (isspace((unsigned char)*fmt)) { fmt = skip_spaces(++fmt); str = skip_spaces(str); } @@ -1476,16 +1476,16 @@ int vsscanf(const char *buf, const char *fmt, va_list args) * advance both strings to next white space */ if (*fmt == '*') { - while (!isspace(*fmt) && *fmt != '%' && *fmt) + while (!isspace((unsigned char)*fmt) && *fmt != '%' && *fmt) fmt++; - while (!isspace(*str) && *str) + while (!isspace((unsigned char)*str) && *str) str++; continue; } /* get field width */ field_width = -1; - if (isdigit(*fmt)) + if (isdigit((unsigned char)*fmt)) field_width = skip_atoi(&fmt); /* get conversion qualifier */ @@ -1531,7 +1531,7 @@ int vsscanf(const char *buf, const char *fmt, va_list args) str = skip_spaces(str); /* now copy until next white space */ - while (*str && !isspace(*str) && field_width--) + while (*str && !isspace((unsigned char)*str) && field_width--) *s++ = *str++; *s = '\0'; num++;