Oh, no! Don't tell me that glibc now tries to implement the completely
broken new POSIX standard for size_t of socket names?
I complained to the POSIX people the very same day I found out (Alan
sent me a patch that tried to implement it in the kernel, and when I
asked him why he did something so stupid and broken he pointed to the
POSIX people), but it seems the committee was populated by bungling
idiots and they had already passed the thing.
It's sad, because POSIX has mostly been on the ball apart from this one
major f*ck-up (sorry, there is no polite way of putting it).
If any glibc people actually read this list, PLEASE disregard the new
and broken POSIX stuff in glibc when it comes to socket name lengths.
It is technically broken and it CANNOT work on machines where
"sizeof(int) != sizeof(size_t)" (which covers all sane 64-bit
implementations).
The bottom line is that the socket interface has been passing pointers
to integers around for a long time, and the new POSIX standard (whetaver
the number is, I forget - 1d?) broke that interface for no good reason.
Implementing the broken POSIX standard is horribly stupid: it breaks
good, working programs in subtle and very hard-to-find ways.
Do NOT implement it, and laugh derisively at anybody who is so clueless
that he thinks that particular POSIX standard actually is worth the
paper it is printed on. Only a committee can get it so obviously wrong,
Linus