1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-14 15:40:19 +02:00

Set sockaddr_in.sin_len field when it exists.

* configure.ac: Detect when struct sockaddr_in has a sin_len field.
  Remove obsolete comment.
* libguile/socket.c (scm_to_sockaddr, scm_fill_sockaddr): Set the
  sin_len field in our struct sockaddr_in when it exists.
This commit is contained in:
Noah Lavine 2011-02-13 15:31:32 -05:00 committed by Andy Wingo
parent e8ab529d57
commit 482d311b39
2 changed files with 6 additions and 5 deletions

View file

@ -798,7 +798,7 @@ scm_fill_sockaddr (int fam, SCM address, SCM *args, int which_arg,
soka = (struct sockaddr_in *) scm_malloc (sizeof (struct sockaddr_in));
memset (soka, '\0', sizeof (struct sockaddr_in));
#ifdef HAVE_STRUCT_SOCKADDR_SIN_LEN
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
soka->sin_len = sizeof (struct sockaddr_in);
#endif
soka->sin_family = AF_INET;
@ -1134,6 +1134,10 @@ scm_to_sockaddr (SCM address, size_t *address_size)
memset (&c_inet, '\0', sizeof (struct sockaddr_in));
#ifdef HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
c_inet.sin_len = sizeof (struct sockaddr_in);
#endif
c_inet.sin_addr.s_addr =
htonl (scm_to_ulong (SCM_SIMPLE_VECTOR_REF (address, 1)));
c_inet.sin_port =