From e2b8e1f623338afb1760a8033785f4904c645c86 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Fri, 10 Apr 2020 08:30:54 -0400 Subject: [PATCH] Fix: tap array subscript has type char warning On architectures where "char" is signed, it should be cast to unsigned char before being passed as parameter to isdigit or isspace. Based on their man page: These functions check whether c, which must have the value of an unsigned char or EOF, falls into a certain character class according to the specified locale. Passing a signed char as parameter is invalid if the values fall into the negative range of the signed char. Signed-off-by: Mathieu Desnoyers --- tests/utils/tap.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/utils/tap.c b/tests/utils/tap.c index 573ae33..3e384d6 100644 --- a/tests/utils/tap.c +++ b/tests/utils/tap.c @@ -94,7 +94,8 @@ _gen_result(int ok, const char *func, char *file, unsigned int line, if(local_test_name) { name_is_digits = 1; for(c = local_test_name; *c != '\0'; c++) { - if(!isdigit(*c) && !isspace(*c)) { + if(!isdigit((unsigned char)*c) && + !isspace((unsigned char)*c)) { name_is_digits = 0; break; } -- 2.34.1