From 19372d8528d25d9774c1c6ede2642bdf57ce3cc3 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sun, 12 Feb 2023 21:07:31 +0100 Subject: netifd: Fix multiple -Wsign-compare warnings This fixes warnings like this: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare] Mostly this was an int compared to a size_t returned by ARRAY_SIZE(). The easiest fix is to count on the size_t type. The ifindex is sometimes an unsigned int and sometimes a signed int in the kernel interfaces. I think it normally fits into an unsigned 16 bit value, so this should be fine. Do the one comparison where the compiler complains as a long. Casting the result of sizeof() to int should be safe. These values are never out of range of int. Signed-off-by: Hauke Mehrtens --- main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 4c1c855..874dc8b 100644 --- a/main.c +++ b/main.c @@ -303,8 +303,8 @@ int main(int argc, char **argv) break; case 'l': log_level = atoi(optarg); - if (log_level >= ARRAY_SIZE(log_class)) - log_level = ARRAY_SIZE(log_class) - 1; + if (log_level >= (int)ARRAY_SIZE(log_class)) + log_level = (int)ARRAY_SIZE(log_class) - 1; break; #ifndef DUMMY_MODE case 'S': -- cgit v1.2.1