From: Alejandro Colomar Date: Sat, 20 Sep 2025 19:17:21 +0000 (+0200) Subject: man/: EXAMPLES: Use NITEMS() consistently X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=6c742e4aca6a5912b047b219913ca89fb4e72525;p=thirdparty%2Fman-pages.git man/: EXAMPLES: Use NITEMS() consistently Signed-off-by: Alejandro Colomar --- diff --git a/man/man2/bpf.2 b/man/man2/bpf.2 index 3bfda0df7..d3f2748a3 100644 --- a/man/man2/bpf.2 +++ b/man/man2/bpf.2 @@ -1193,6 +1193,8 @@ riscv (since Linux 5.1). .SH EXAMPLES .\" SRC BEGIN (bpf.c) .EX +#define NITEMS(a) (sizeof(a) / sizeof(*(a))) +\& /* bpf+sockets example: * 1. create array map of 256 elements * 2. load program that counts number of packets received @@ -1237,7 +1239,7 @@ main(int argc, char *argv[]) }; \& prog_fd = bpf_prog_load(BPF_PROG_TYPE_SOCKET_FILTER, prog, - sizeof(prog) / sizeof(prog[0]), "GPL"); + NITEMS(prog), "GPL"); \& sock = open_raw_sock("lo"); \& diff --git a/man/man2/seccomp.2 b/man/man2/seccomp.2 index 9147fd7ef..5e65d6a28 100644 --- a/man/man2/seccomp.2 +++ b/man/man2/seccomp.2 @@ -1114,7 +1114,7 @@ cecilia #include \& #define X32_SYSCALL_BIT 0x40000000 -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +#define NITEMS(arr) (sizeof(arr) / sizeof((arr)[0])) \& static int install_filter(int syscall_nr, unsigned int t_arch, int f_errno) @@ -1165,7 +1165,7 @@ install_filter(int syscall_nr, unsigned int t_arch, int f_errno) }; \& struct sock_fprog prog = { - .len = ARRAY_SIZE(filter), + .len = NITEMS(filter), .filter = filter, }; \& diff --git a/man/man2/seccomp_unotify.2 b/man/man2/seccomp_unotify.2 index f84397c21..31a9657ac 100644 --- a/man/man2/seccomp_unotify.2 +++ b/man/man2/seccomp_unotify.2 @@ -1419,7 +1419,7 @@ T: terminating #include #include \& -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +#define NITEMS(arr) (sizeof(arr) / sizeof((arr)[0])) \& /* Send the file descriptor \[aq]fd\[aq] over the connected UNIX domain socket \[aq]sockfd\[aq]. Returns 0 on success, or \-1 on error. */ @@ -1600,7 +1600,7 @@ installNotifyFilter(void) }; \& struct sock_fprog prog = { - .len = ARRAY_SIZE(filter), + .len = NITEMS(filter), .filter = filter, }; \& diff --git a/man/man2/sysctl.2 b/man/man2/sysctl.2 index c3f3aca41..c59acff55 100644 --- a/man/man2/sysctl.2 +++ b/man/man2/sysctl.2 @@ -120,7 +120,7 @@ It is not yet possible to change operating system by writing to \& #include \& -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +#define NITEMS(arr) (sizeof(arr) / sizeof((arr)[0])) \& int _sysctl(struct __sysctl_args *args); \& @@ -136,7 +136,7 @@ main(void) \& memset(&args, 0, sizeof(args)); args.name = name; - args.nlen = ARRAY_SIZE(name); + args.nlen = NITEMS(name); args.oldval = osname; args.oldlenp = &osnamelth; \& diff --git a/man/man3/bsearch.3 b/man/man3/bsearch.3 index 03b00d9aa..a62954c1e 100644 --- a/man/man3/bsearch.3 +++ b/man/man3/bsearch.3 @@ -84,7 +84,7 @@ then retrieves desired elements using #include #include \& -#define ARRAY_SIZE(arr) (sizeof((arr)) / sizeof((arr)[0])) +#define NITEMS(arr) (sizeof((arr)) / sizeof((arr)[0])) \& struct mi { int nr; @@ -109,13 +109,13 @@ compmi(const void *m1, const void *m2) int main(int argc, char *argv[]) { - qsort(months, ARRAY_SIZE(months), sizeof(months[0]), compmi); + qsort(months, NITEMS(months), sizeof(months[0]), compmi); for (size_t i = 1; i < argc; i++) { struct mi key; struct mi *res; \& key.name = argv[i]; - res = bsearch(&key, months, ARRAY_SIZE(months), + res = bsearch(&key, months, NITEMS(months), sizeof(months[0]), compmi); if (res == NULL) printf("\[aq]%s\[aq]: unknown month\[rs]n", argv[i]); diff --git a/man/man3/fread.3 b/man/man3/fread.3 index 1b6c77a66..63108c765 100644 --- a/man/man3/fread.3 +++ b/man/man3/fread.3 @@ -108,7 +108,7 @@ Class: 0x02 #include #include \& -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +#define NITEMS(arr) (sizeof(arr) / sizeof((arr)[0])) \& int main(void) @@ -123,8 +123,8 @@ main(void) return EXIT_FAILURE; } \& - ret = fread(buffer, sizeof(*buffer), ARRAY_SIZE(buffer), fp); - if (ret != ARRAY_SIZE(buffer)) { + ret = fread(buffer, sizeof(*buffer), NITEMS(buffer), fp); + if (ret != NITEMS(buffer)) { fprintf(stderr, "fread() failed: %zu\[rs]n", ret); exit(EXIT_FAILURE); } diff --git a/man/man3/regex.3 b/man/man3/regex.3 index 21e9c4c0b..3424580bd 100644 --- a/man/man3/regex.3 +++ b/man/man3/regex.3 @@ -360,7 +360,7 @@ Always reference them by name. #include #include \& -#define ARRAY_SIZE(arr) (sizeof((arr)) / sizeof((arr)[0])) +#define NITEMS(arr) (sizeof((arr)) / sizeof((arr)[0])) \& static const char *const str = "1) John Driverhacker;\[rs]n2) John Doe;\[rs]n3) John Foo;\[rs]n"; @@ -380,7 +380,7 @@ int main(void) printf("Matches:\[rs]n"); \& for (unsigned int i = 0; ; i++) { - if (regexec(®ex, s, ARRAY_SIZE(pmatch), pmatch, 0)) + if (regexec(®ex, s, NITEMS(pmatch), pmatch, 0)) break; \& off = pmatch[0].rm_so + (s \- str); diff --git a/man/man3/static_assert.3 b/man/man3/static_assert.3 index 410607bd0..e079e6bbd 100644 --- a/man/man3/static_assert.3 +++ b/man/man3/static_assert.3 @@ -90,7 +90,7 @@ The following program uses the macro to get the size of an array safely. #define must_be_array(arr) must_be(is_array(arr)) \& #define sizeof_array(arr) (sizeof(arr) + must_be_array(arr)) -#define nitems(arr) (sizeof((arr)) / sizeof((arr)[0]) \[rs] +#define NITEMS(arr) (sizeof((arr)) / sizeof((arr)[0]) \[rs] + must_be_array(arr)) \& int foo[10]; @@ -99,13 +99,13 @@ int8_t bar[sizeof_array(foo)]; int main(void) { - for (size_t i = 0; i < nitems(foo); i++) { + for (size_t i = 0; i < NITEMS(foo); i++) { foo[i] = i; } \& memcpy(bar, foo, sizeof_array(bar)); \& - for (size_t i = 0; i < nitems(bar); i++) { + for (size_t i = 0; i < NITEMS(bar); i++) { printf("%d,", bar[i]); } \& diff --git a/man/man3/strncat.3 b/man/man3/strncat.3 index 13ea83334..25111caca 100644 --- a/man/man3/strncat.3 +++ b/man/man3/strncat.3 @@ -95,7 +95,7 @@ Shlemiel the painter #include #include \& -#define nitems(arr) (sizeof((arr)) / sizeof((arr)[0])) +#define NITEMS(arr) (sizeof((arr)) / sizeof((arr)[0])) \& int main(void) @@ -111,15 +111,15 @@ main(void) char src[] = "some_long_body.post"; char *dest; \& - n = nitems(pre) + strlen(src) \- strlen(post) + nitems(new_post) + 1; + n = NITEMS(pre) + strlen(src) \- strlen(post) + NITEMS(new_post) + 1; dest = malloc(sizeof(*dest) * n); if (dest == NULL) err(EXIT_FAILURE, "malloc()"); \& dest[0] = \[aq]\[rs]0\[aq]; // There's no 'cpy' function to this 'cat'. - strncat(dest, pre, nitems(pre)); + strncat(dest, pre, NITEMS(pre)); strncat(dest, src, strlen(src) \- strlen(post)); - strncat(dest, new_post, nitems(new_post)); + strncat(dest, new_post, NITEMS(new_post)); \& puts(dest); // "pre.some_long_body.foo.bar" free(dest);