X-Git-Url: http://git.meshlink.io/?p=catta;a=blobdiff_plain;f=src%2Fsocket.c;h=28132db16de3bc113e219892a0339ad4acdc45ec;hp=dc989d8ac466f1647a5aa278b5ee980b667aae77;hb=87028029f3968195d3f2c67e43fa0bea79550797;hpb=4ac8d5e93bf09c86e8352cdc2099b35ec89ba3a9 diff --git a/src/socket.c b/src/socket.c index dc989d8..28132db 100644 --- a/src/socket.c +++ b/src/socket.c @@ -464,9 +464,12 @@ static int sendmsg_loop(int fd, struct msghdr *msg, int flags) { if (errno != EAGAIN && errno != EWOULDBLOCK) { char where[64]; - struct sockaddr_in *sin = msg->msg_name; + struct sockaddr *sa = msg->msg_name; - inet_ntop(sin->sin_family, &sin->sin_addr, where, sizeof(where)); + if(sa->sa_family == AF_INET) + inet_ntop(sa->sa_family, &((struct sockaddr_in *)sa)->sin_addr, where, sizeof(where)); + else + inet_ntop(sa->sa_family, &((struct sockaddr_in6 *)sa)->sin6_addr, where, sizeof(where)); catta_log_debug("sendmsg() to %s failed: %s", where, errnostrsocket()); return -1; }