From 53732ab0bbc723a7e5504e42b0857076e24409c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Sat, 14 Aug 2021 11:26:43 +0200 Subject: [PATCH] Resolve -Wimplicit-int-conversion warnings Panel.c:414:49: error: implicit conversion loses integer precision: 'int' to 'short' [-Werror,-Wimplicit-int-conversion] this->scrollH = MAXIMUM(this->selectedLen - this->w, 0); ~ ~~~~~~~~~~~~~~~~~~^~~~~~~~~ ./Macros.h:11:54: note: expanded from macro 'MAXIMUM' #define MAXIMUM(a, b) ((a) > (b) ? (a) : (b)) ^ IncSet.c:159:38: error: implicit conversion loses integer precision: 'int' to 'char' [-Werror,-Wimplicit-int-conversion] mode->buffer[mode->index] = ch; ~ ^~ Panel.c:456:24: error: implicit conversion loses integer precision: 'int' to 'char' [-Werror,-Wimplicit-int-conversion] buffer[len] = ch; ~ ^~ Panel.c:473:22: error: implicit conversion loses integer precision: 'int' to 'char' [-Werror,-Wimplicit-int-conversion] buffer[0] = ch; ~ ^~ --- IncSet.c | 2 +- Panel.c | 4 ++-- Panel.h | 2 +- configure.ac | 3 ++- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/IncSet.c b/IncSet.c index cee3565b..56f9c32f 100644 --- a/IncSet.c +++ b/IncSet.c @@ -156,7 +156,7 @@ bool IncSet_handleKey(IncSet* this, int ch, Panel* panel, IncMode_GetPanelValue doSearch = false; } else if (0 < ch && ch < 255 && isprint((unsigned char)ch)) { if (mode->index < INCMODE_MAX) { - mode->buffer[mode->index] = ch; + mode->buffer[mode->index] = (char) ch; mode->index++; mode->buffer[mode->index] = 0; if (mode->isFilter) { diff --git a/Panel.c b/Panel.c index 64e6d4e6..a5773d52 100644 --- a/Panel.c +++ b/Panel.c @@ -453,7 +453,7 @@ HandlerResult Panel_selectByTyping(Panel* this, int ch) { } if (len < 99) { - buffer[len] = ch; + buffer[len] = (char) ch; buffer[len + 1] = '\0'; } @@ -470,7 +470,7 @@ HandlerResult Panel_selectByTyping(Panel* this, int ch) { // if current word did not match, // retry considering the character the start of a new word. - buffer[0] = ch; + buffer[0] = (char) ch; buffer[1] = '\0'; } diff --git a/Panel.h b/Panel.h index cf110c90..9bb4c77e 100644 --- a/Panel.h +++ b/Panel.h @@ -67,7 +67,7 @@ struct Panel_ { int selectedLen; void* eventHandlerState; int scrollV; - short scrollH; + int scrollH; bool needsRedraw; bool wasFocus; FunctionBar* currentBar; diff --git a/configure.ac b/configure.ac index 0824d2e3..2a4880ba 100644 --- a/configure.ac +++ b/configure.ac @@ -668,7 +668,8 @@ AS_VAR_IF(CACHEVAR,yes, AS_VAR_POPDEF([CACHEVAR])dnl ])dnl AX_CHECK_COMPILE_FLAGS -AX_CHECK_COMPILE_FLAG([-Wnull-dereference], [AM_CFLAGS="$AM_CFLAGS -Wnull-dereference"], , [-Werror]) +AX_CHECK_COMPILE_FLAG([-Wimplicit-int-conversion], [AM_CFLAGS="$AM_CFLAGS -Wimplicit-int-conversion"], , [-Werror]) +AX_CHECK_COMPILE_FLAG([-Wnull-dereference], [AM_CFLAGS="$AM_CFLAGS -Wnull-dereference"], , [-Werror]) AC_ARG_ENABLE([werror], [AS_HELP_STRING([--enable-werror],