BSD systems have an extra field sun_len in the sockaddr type which must be filled. Linux systems lack this field.

This commit is contained in:
jjgarcia 2005-02-14 11:11:37 +00:00
parent f8f04ff8c7
commit 0f9cd17271

View file

@ -617,10 +617,9 @@ also known as unix-domain sockets."))
struct sockaddr_un sockaddr;
size_t size;
/* This does not seem to be needed and the field does not exist
* in linux:
#ifdef BSD
sockaddr.sun_len = sizeof(struct sockaddr_un);
*/
#endif
sockaddr.sun_family = #2;
strncpy(&sockaddr.sun_path,#1,sizeof(sockaddr.sun_path));
sockaddr.sun_path[sizeof(sockaddr.sun_path)-1] = '\0';
@ -672,10 +671,9 @@ static cl_object do_accept_un(cl_object cl_socket_fd)
{
struct sockaddr_un sockaddr;
/* This does not seem to be needed and the field does not exist
* in linux:
#ifdef BSD
sockaddr.sun_len = sizeof(struct sockaddr_un);
*/
#endif
sockaddr.sun_family = #1;
strncpy(&sockaddr.sun_path,#2,sizeof(sockaddr.sun_path));
sockaddr.sun_path[sizeof(sockaddr.sun_path)-1] = '\0';