[pacman-dev] [PATCH v3 2/3] util-common.h: Add ARRAYSIZE macro
ambrevar at gmail.com
Wed Oct 21 07:15:17 UTC 2015
On 15-10-21 14:49:21, Allan McRae wrote:
> On 20/10/15 23:30, Pierre Neidhardt wrote:
> > Signed-off-by: Pierre Neidhardt <ambrevar at gmail.com>
> > ---
> > src/common/util-common.h | 2 ++
> > 1 file changed, 2 insertions(+)
> > diff --git a/src/common/util-common.h b/src/common/util-common.h
> > index a2093be..373db19 100644
> > --- a/src/common/util-common.h
> > +++ b/src/common/util-common.h
> > @@ -34,6 +34,8 @@ char *safe_fgets(char *s, int size, FILE *stream);
> > char *strndup(const char *s, size_t n);
> > #endif
> > +#define ARRAYSIZE(a) (sizeof (a) / sizeof (a))
> > +
> > #endif /* _PM_UTIL_COMMON_H */
> This is needed nowhere in libalpm, so put this in src/pacman/util.c at
> the top of the file. And you might as well use it in the three places
> that could use it in pacman while you are at it.
How do you define the appropriate spots where it can be used? I believe alpm
could use the macro in many places as well. For instance, both pacman and alpm
have numerous PATH_MAX referencing the size of an array (beside its
initialization of course).
I endorse the use of ARRAYSIZE, but I must say it is quite inconsistent with
what has been done until now. Suggestions:
* We replace every static array size reference with a call to the macro. Lots of
work and error prone.
* Or we only use it in future code.
* Or we don't use it at all and I remove it from my patch.
More information about the pacman-dev