Browse Source

Use the defined access method for structure.

Not all struct sockaddr are going to have the sa_family as their first field.
Since there is a named structure member, we can simply use that and let
the compiler sort it out.

This fixes a bug with at least FreeBSD and allows us to remove the
special case for Apple.
pull/1128/head
Hamish Coleman 1 year ago
parent
commit
89125ec423
  1. 5
      src/wire.c

5
src/wire.c

@ -687,11 +687,8 @@ int fill_sockaddr (struct sockaddr * addr,
// fills struct sockaddr's data into n2n_sock
int fill_n2nsock (n2n_sock_t* sock, const struct sockaddr* sa) {
#ifdef __APPLE__
sock->family = sa->sa_family;
#else
sock->family = *(sa_family_t*)sa;
#endif
switch(sock->family) {
case AF_INET: {
sock->port = ntohs(((struct sockaddr_in*)sa)->sin_port);

Loading…
Cancel
Save