In message <20100810.115457.1126759349893144516....@bsdimp.com>, "M. Warner Los
h" writes:
>In message: <20100811.023235.13138059....@allbsd.org>
>            Hiroki Sato <h...@freebsd.org> writes:
>: Oliver Fromme <o...@fromme.com> wrote
>:   in <201008101623.o7agns7i042...@haluter.fromme.com>:
>: 
>: ol> -static int      validate(struct sockaddr *, const char *);
>: ol> -static void     unmapped(struct sockaddr *);
>: ol> +static int      validate(struct sockaddr_storage *, const char *);
>: ol> +static void     unmapped(struct sockaddr_storage *);
>: 
>:  Why is s/struct sockaddr */struct sockaddr_storage */ needed here?
>:  Using (struct sockaddr *) as an argument looks reasonable to me since
>:  the struct sockaddr_storage is mostly for memory allocation, not for
>:  access via pointer.
>
>Because struct sockaddr * has a too loose alignment requirement for
>later casting, while sockaddr_storage has the proper alignment.

This is the kind of detail Bruce, Warner and I know, but I bet it
was news to most of you.

Somebody should add it to the relevant manualpages...

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
p...@freebsd.org         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to