Re: [PATCH (2) 32/34] inotify.7: Use sizeof consistently

Michael Kerrisk (man-pages)
2020-09-04T18:10:29Z

Hi Alex,

On 9/4/20 5:06 PM, Alejandro Colomar wrote:
>>From 464c2941b936df850f03d7d9df382dc2c46f37f1 Mon Sep 17 00:00:00 2001
> From: Alejandro Colomar <colomar.6.4.3@gmail.com>
> Date: Thu, 3 Sep 2020 21:58:59 +0200
> Subject: [PATCH 32/34] inotify.7: Use sizeof consistently
>
> Use ``sizeof`` consistently through all the examples in the following
> way:
>
> - Use the name of the variable instead of its type as argument for
> ``sizeof``.
>
> Rationale:
> https://www.kernel.org/doc/html/v5.8/process/coding-style.html#allocating-memory
>
> Signed-off-by: Alejandro Colomar <colomar.6.4.3@gmail.com>

I think this change would weaken the example. The point is that when
traversing through these variable-length structures, the length of each
structure is the size of the fixed-size component (struct inotify_event)
plus the variable-length piece. The code as it stands emphasizes that.
The patch would leave that point less clear. I won't apply this one.

Thanks,

Michael

> ---
> man7/inotify.7 | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/man7/inotify.7 b/man7/inotify.7
> index 9b2d7a4e5..4093bba5a 100644
> --- a/man7/inotify.7
> +++ b/man7/inotify.7
> @@ -968,7 +968,7 @@ handle_events(int fd, int *wd, int argc, char* argv[])
> /* Loop over all events in the buffer */
>
> for (ptr = buf; ptr < buf + len;
> - ptr += sizeof(struct inotify_event) + event\->len) {
> + ptr += sizeof(*event) + event\->len) {
>
> event = (const struct inotify_event *) ptr;
>

--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/