On 2020-09-29 15:38, Michael Kerrisk (man-pages) wrote:
2.- Use sizeof() everywhere, and the macro for the initializer.
pros:
- It is valid as long as the buffer is an array.
cons:
- If the code gets into a function, and the buffer is then a pointer,
it will definitively produce a silent bug.
Sigh! I just did exactly the last point in a test program I've been writing...
M
Hmmm, maybe you would like to comment on this LKML thread I started
yesterday:
https://lore.kernel.org/lkml/71c25cb0-9fa2-4e97-c93c-44eadfd781fb@xxxxxxxxx
Concretely, point 4 is about this.
I'd push 'array_bytes()' to all "libc"s I can, so that it's then common
enough to use it everywhere, even in the man.
I'd also recommend reading this StackOverflow answer I wrote last year:
https://stackoverflow.com/a/57537491/6872717
Cheers,
Alex