Warum widerspricht POSIX den ISO C-Standards [closed]
Sehenhttp: //pubs.opengroup.org/onlinepubs/009696699/basedefs/sys/socket.h.htm
(http: //pubs.opengroup.org/onlinepubs/969991979 ist ab Ausgabe 7 - ab 2013 und immer noch gleich!)
sockaddr_storage soll in andere Strukturtypen umgewandelt werden, aber das widerspricht den Aliasing-Regeln der ANSI- und ISO C-Standards, soweit ich das beurteilen kann. (Auf Objekte kann möglicherweise nicht über Zeiger auf inkompatible Typen zugegriffen werden, mit der Ausnahme, dass über die 3 Zeichenarten auf alles zugegriffen werden kann und die Struktur und ihr erstes Element austauschbar sind.)
Ich weiß, dass diese Praxis des Arbeitens mit Sockets lange vor der Standardisierung von C existierte, POSIX jedoch ISO C-konform sein soll und tatsächlich den Standards in seinem Handbuch widerspricht. (Auch in neueren POSIX-Versionen.)
Warum haben sie es überhaupt so gemacht? Warum haben sie es nicht geändert?