Multicast problems [PATCH]

Stefan Farfeleder stefan at fafoe.narf.at
Wed Jun 20 11:22:35 UTC 2007


On Tue, Jun 19, 2007 at 06:36:39PM -0400, Daniel Eischen wrote:

>  POSIX states that:
> 
>    o The <sys/socket.h> header shall define the type socklen_t,
>      which is an integer type of width of at least 32 bits; see
>      APPLICATION USAGE.
> 
>  and goes on to state:
> 
>    o The <sys/socket.h> header shall define the unsigned integer
>      type sa_family_t.
> 
>  This seems to imply that our socklen_t should not be an unsigned
>  integer (uint32_t), but a signed integer.  In APPLICATION USAGE,
>  POSIX states:

I don't understand how you come to that conclusion.  Why does not
mentioning whether socklen_t is signed or unsigned imply it should be
signed?

> 
>    To forestall portability problems, it is recommended that
>    applications not use values larger than 23^1 -1 for the
>    socklen_t type.

That just means that those values will wrap to negative values if
socklen_t is a signed integer type.


More information about the freebsd-current mailing list