kconfig: fix an "implicit declaration of function" warning
diff mbox series

Message ID 20200109125627.24654-1-brgl@bgdev.pl
State New
Headers show
Series
  • kconfig: fix an "implicit declaration of function" warning
Related show

Commit Message

Bartosz Golaszewski Jan. 9, 2020, 12:56 p.m. UTC
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

strncasecmp() & strcasecmp() functions are declared in strings.h, not
string.h. On most environments the former is implicitly included by
the latter but on some setups, building menuconfig results in the
following warning:

  HOSTCC  scripts/kconfig/mconf.o
scripts/kconfig/mconf.c: In function ‘search_conf’:
scripts/kconfig/mconf.c:423:6: warning: implicit declaration of function ‘strncasecmp’ [-Wimplicit-function-declaration]
  if (strncasecmp(dialog_input_result, CONFIG_, strlen(CONFIG_)) == 0)
      ^~~~~~~~~~~
scripts/kconfig/mconf.c: In function ‘main’:
scripts/kconfig/mconf.c:1021:8: warning: implicit declaration of function ‘strcasecmp’ [-Wimplicit-function-declaration]
   if (!strcasecmp(mode, "single_menu"))
        ^~~~~~~~~~

Fix it by explicitly including strings.h.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
---
 scripts/kconfig/mconf.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Masahiro Yamada Jan. 9, 2020, 3:58 p.m. UTC | #1
On Thu, Jan 9, 2020 at 9:56 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
>
> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> strncasecmp() & strcasecmp() functions are declared in strings.h, not
> string.h. On most environments the former is implicitly included by
> the latter but on some setups, building menuconfig results in the
> following warning:
>
>   HOSTCC  scripts/kconfig/mconf.o
> scripts/kconfig/mconf.c: In function ‘search_conf’:
> scripts/kconfig/mconf.c:423:6: warning: implicit declaration of function ‘strncasecmp’ [-Wimplicit-function-declaration]
>   if (strncasecmp(dialog_input_result, CONFIG_, strlen(CONFIG_)) == 0)
>       ^~~~~~~~~~~
> scripts/kconfig/mconf.c: In function ‘main’:
> scripts/kconfig/mconf.c:1021:8: warning: implicit declaration of function ‘strcasecmp’ [-Wimplicit-function-declaration]
>    if (!strcasecmp(mode, "single_menu"))
>         ^~~~~~~~~~
>
> Fix it by explicitly including strings.h.
>
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>

Thanks.

I see strncasecmp() in
scripts/kconfig/nconf.c too.

Could you fix both in a single patch?

You can try it with "make nconfig".



> ---
>  scripts/kconfig/mconf.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
> index 49c26ea9dd98..4063dbc1b927 100644
> --- a/scripts/kconfig/mconf.c
> +++ b/scripts/kconfig/mconf.c
> @@ -15,6 +15,7 @@
>  #include <stdarg.h>
>  #include <stdlib.h>
>  #include <string.h>
> +#include <strings.h>
>  #include <signal.h>
>  #include <unistd.h>
>
> --
> 2.23.0
>
Bartosz Golaszewski Jan. 9, 2020, 4:03 p.m. UTC | #2
czw., 9 sty 2020 o 16:59 Masahiro Yamada <masahiroy@kernel.org> napisał(a):
>
> On Thu, Jan 9, 2020 at 9:56 PM Bartosz Golaszewski <brgl@bgdev.pl> wrote:
> >
> > From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> >
> > strncasecmp() & strcasecmp() functions are declared in strings.h, not
> > string.h. On most environments the former is implicitly included by
> > the latter but on some setups, building menuconfig results in the
> > following warning:
> >
> >   HOSTCC  scripts/kconfig/mconf.o
> > scripts/kconfig/mconf.c: In function ‘search_conf’:
> > scripts/kconfig/mconf.c:423:6: warning: implicit declaration of function ‘strncasecmp’ [-Wimplicit-function-declaration]
> >   if (strncasecmp(dialog_input_result, CONFIG_, strlen(CONFIG_)) == 0)
> >       ^~~~~~~~~~~
> > scripts/kconfig/mconf.c: In function ‘main’:
> > scripts/kconfig/mconf.c:1021:8: warning: implicit declaration of function ‘strcasecmp’ [-Wimplicit-function-declaration]
> >    if (!strcasecmp(mode, "single_menu"))
> >         ^~~~~~~~~~
> >
> > Fix it by explicitly including strings.h.
> >
> > Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
>
> Thanks.
>
> I see strncasecmp() in
> scripts/kconfig/nconf.c too.
>
> Could you fix both in a single patch?
>
> You can try it with "make nconfig".

Sure. It seems gconf needs the same change too.

Bart

Patch
diff mbox series

diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index 49c26ea9dd98..4063dbc1b927 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -15,6 +15,7 @@ 
 #include <stdarg.h>
 #include <stdlib.h>
 #include <string.h>
+#include <strings.h>
 #include <signal.h>
 #include <unistd.h>