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-44eadfd78...@gmail.com

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

Reply via email to