Message ID | 20230927122744.3434851-2-thaller@redhat.com |
---|---|
State | Changes Requested |
Delegated to: | Pablo Neira |
Headers | show |
Series | Two fixes to avoid "-Wstrict-overflow" warnings | expand |
On Wed, 2023-09-27 at 14:23 +0200, Thomas Haller wrote: > Add NFT_ARRAY_SIZE() macro, commonly known as ARRAY_SIZE() (or > G_N_ELEMENTS()). > > <nft.h> is the right place for macros and static-inline functions. It > is > included in *every* C sources, as it only depends on libc headers and > <config.h>. NFT_ARRAY_SIZE() is part of the basic toolset, that > should > be available everywhere. > > Signed-off-by: Thomas Haller <thaller@redhat.com> > --- > include/nft.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/include/nft.h b/include/nft.h > index 9384054c11c8..4463b5c0fa4a 100644 > --- a/include/nft.h > +++ b/include/nft.h > @@ -8,4 +8,6 @@ > #include <stdint.h> > #include <stdlib.h> > > +#define NFT_ARRAY_SIZE(arr) (sizeof(arr)/sizeof((arr)[0])) > + > #endif /* NFTABLES_NFT_H */ oh, I just found the "array_size()" macro. Didn't expect it to be lower-case. Will use that in v2. Thomas
On Wed, Sep 27, 2023 at 04:24:19PM +0200, Thomas Haller wrote: > On Wed, 2023-09-27 at 14:23 +0200, Thomas Haller wrote: > > Add NFT_ARRAY_SIZE() macro, commonly known as ARRAY_SIZE() (or > > G_N_ELEMENTS()). > > > > <nft.h> is the right place for macros and static-inline functions. It > > is > > included in *every* C sources, as it only depends on libc headers and > > <config.h>. NFT_ARRAY_SIZE() is part of the basic toolset, that > > should > > be available everywhere. > > > > Signed-off-by: Thomas Haller <thaller@redhat.com> > > --- > > include/nft.h | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/include/nft.h b/include/nft.h > > index 9384054c11c8..4463b5c0fa4a 100644 > > --- a/include/nft.h > > +++ b/include/nft.h > > @@ -8,4 +8,6 @@ > > #include <stdint.h> > > #include <stdlib.h> > > > > +#define NFT_ARRAY_SIZE(arr) (sizeof(arr)/sizeof((arr)[0])) > > + > > #endif /* NFTABLES_NFT_H */ > > oh, I just found the "array_size()" macro. Didn't expect it to be > lower-case. > > Will use that in v2. If you read this before you post v2, then for this oneliner, I'd suggest to squash it where it is used for the first time, otherwise it is fine, not a deal breaker.
diff --git a/include/nft.h b/include/nft.h index 9384054c11c8..4463b5c0fa4a 100644 --- a/include/nft.h +++ b/include/nft.h @@ -8,4 +8,6 @@ #include <stdint.h> #include <stdlib.h> +#define NFT_ARRAY_SIZE(arr) (sizeof(arr)/sizeof((arr)[0])) + #endif /* NFTABLES_NFT_H */
Add NFT_ARRAY_SIZE() macro, commonly known as ARRAY_SIZE() (or G_N_ELEMENTS()). <nft.h> is the right place for macros and static-inline functions. It is included in *every* C sources, as it only depends on libc headers and <config.h>. NFT_ARRAY_SIZE() is part of the basic toolset, that should be available everywhere. Signed-off-by: Thomas Haller <thaller@redhat.com> --- include/nft.h | 2 ++ 1 file changed, 2 insertions(+)