CONTRIB: halog: fix issue with array of type char
authorWilly Tarreau <w@1wt.eu>
Fri, 2 Apr 2021 15:47:21 +0000 (17:47 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Mon, 12 Apr 2021 20:27:41 +0000 (22:27 +0200)
I just noticed this in the windows build after moving the file to dev/:

   In file included from include/import/ist.h:32,
                   from include/haproxy/connection-t.h:32,
                   from dev/flags/flags.c:5:
  dev/flags/flags.c: In function `main':
  dev/flags/flags.c:442:20: error: array subscript has type `char' [-Werror=char-subscripts]
    442 |           (isalnum(*err) && toupper(*err) != 'U' && toupper(*err) != 'L'))
        |                    ^~~~
    LD      haproxy
  cc1: all warnings being treated as errors
  make: *** [Makefile:932: dev/flags/flags.o] Error 1
  make: *** Waiting for unfinished jobs....
  Error: Process completed with exit code 2.

Let's just cast it to uchar as is done everywhere else.

(cherry picked from commit b00c00e82ccffe61cb6c9de78c0a6dd6a6a40207)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>

contrib/debug/flags.c

index a596b1a..89d45e7 100644 (file)
@@ -441,7 +441,7 @@ int main(int argc, char **argv)
                        /* stop at the end of the number and trim any C suffix like "UL" */
                        err = value;
                        while (*err == '-' || *err == '+' ||
-                              (isalnum(*err) && toupper(*err) != 'U' && toupper(*err) != 'L'))
+                              (isalnum((unsigned char)*err) && toupper((unsigned char)*err) != 'U' && toupper((unsigned char)*err) != 'L'))
                                err++;
                        if (err)
                                *err = 0;