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@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[0])) + #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.
Allan
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. -- Pierre Neidhardt