diff mbox series

libipt_ULOG.c - include strings.h for the definition of ffs()

Message ID 20200421081507.108023-1-zenczykowski@gmail.com
State Not Applicable
Headers show
Series libipt_ULOG.c - include strings.h for the definition of ffs() | expand

Commit Message

Maciej Żenczykowski April 21, 2020, 8:15 a.m. UTC
From: Maciej Żenczykowski <maze@google.com>

This resolves compiler warnings:

extensions/libext4_srcs/gen/gensrcs/external/iptables/extensions/libipt_ULOG.c:89:32: error: implicit declaration of function 'ffs' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  printf(" --ulog-nlgroup %d", ffs(loginfo->nl_group));
                               ^
extensions/libext4_srcs/gen/gensrcs/external/iptables/extensions/libipt_ULOG.c:105:9: error: implicit declaration of function 'ffs' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
  ffs(loginfo->nl_group));
  ^

Test: builds with less warnings
Signed-off-by: Maciej Żenczykowski <maze@google.com>
---
 extensions/libipt_ULOG.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Pablo Neira Ayuso April 21, 2020, 10:40 a.m. UTC | #1
On Tue, Apr 21, 2020 at 01:15:07AM -0700, Maciej Żenczykowski wrote:
> From: Maciej Żenczykowski <maze@google.com>
> 
> This resolves compiler warnings:
> 
> extensions/libext4_srcs/gen/gensrcs/external/iptables/extensions/libipt_ULOG.c:89:32: error: implicit declaration of function 'ffs' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>   printf(" --ulog-nlgroup %d", ffs(loginfo->nl_group));
>                                ^
> extensions/libext4_srcs/gen/gensrcs/external/iptables/extensions/libipt_ULOG.c:105:9: error: implicit declaration of function 'ffs' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>   ffs(loginfo->nl_group));
>   ^
> 
> Test: builds with less warnings

For the record, what compiler is triggering this? Or you use different
-W options there?

I don't see these with gcc 9.3 here.

> Signed-off-by: Maciej Żenczykowski <maze@google.com>
> ---
>  extensions/libipt_ULOG.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/extensions/libipt_ULOG.c b/extensions/libipt_ULOG.c
> index fafb220b..5163eea3 100644
> --- a/extensions/libipt_ULOG.c
> +++ b/extensions/libipt_ULOG.c
> @@ -11,6 +11,7 @@
>   */
>  #include <stdio.h>
>  #include <string.h>
> +#include <strings.h>
>  #include <xtables.h>
>  /* For 64bit kernel / 32bit userspace */
>  #include <linux/netfilter_ipv4/ipt_ULOG.h>
> -- 
> 2.26.1.301.g55bc3eb7cb9-goog
>
Maciej Żenczykowski April 21, 2020, 2:01 p.m. UTC | #2
Must be some version of clang - presumably with
-Wimplicit-function-declaration turned on.
I'm honestly not sure quite how to check, but it is whatever is the
default in aosp on master.
Maciej Żenczykowski April 21, 2020, 2:03 p.m. UTC | #3
note: I guess it could also be bionic vs libc header files...
but per man ffs:
http://man7.org/linux/man-pages/man3/ffs.3.html

       #include <strings.h>
       int ffs(int i);

       #include <string.h>
       int ffsl(long int i);
       int ffsll(long long int i);

strings.h is the right header file.
Pablo Neira Ayuso April 28, 2020, 12:04 a.m. UTC | #4
Applied.
diff mbox series

Patch

diff --git a/extensions/libipt_ULOG.c b/extensions/libipt_ULOG.c
index fafb220b..5163eea3 100644
--- a/extensions/libipt_ULOG.c
+++ b/extensions/libipt_ULOG.c
@@ -11,6 +11,7 @@ 
  */
 #include <stdio.h>
 #include <string.h>
+#include <strings.h>
 #include <xtables.h>
 /* For 64bit kernel / 32bit userspace */
 #include <linux/netfilter_ipv4/ipt_ULOG.h>