Hello,

lib/unix.h declares

| struct sockaddr {
|        u_char  sa_len;                 /* total length */
|        u_char  sa_family;              /* address family */
         ~~~~~~

but SUSv3 suggests in [1] a declaration like

| struct sockaddr {
|        u_char       sa_len;            /* total length */
|        sa_family_t  sa_family;         /* address family */

I am not sure about the handling of 'sa_len'; this attribute is neither
mentioned in SUSv3 nor used by the GNU glibc and dietlibc.


Another conflict is caused by select(); SUSv3 allows the timeout to be
NULL, but the @null@ flags is missing in unix.h:

| select (..., fd_set /*@null@*/ *e, struct timeval *t)
                                                  ~~~



Enrico

Footnotes: 
[1]  http://www.opengroup.org/onlinepubs/007904975/basedefs/sys/socket.h.html


Reply via email to