int fd;
int opt = 1;
- if ((fd = socket(PF_INET, SOCK_STREAM, 0)) < 0 ||
+ if ((fd = socket(cw.me.sa.sa_family, SOCK_STREAM, 0)) < 0 ||
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) ||
bind(fd, &cw.me.sa, addrsz(&cw.me)) ||
listen(fd, 1) || nonblockify(fd) || cloexec(fd))
if (connhost) {
initaddr(&tmpaddr);
parseaddr(connhost, 0, paf_parse, &tmpaddr);
- if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) < 0 ||
+ if ((fd = socket(tmpaddr.sa.sa_family, SOCK_STREAM, IPPROTO_TCP)) < 0 ||
(bindhost &&
bind(fd, &bindaddr.sa, addrsz(&bindaddr))) ||
connect(fd, &tmpaddr.sa, addrsz(&tmpaddr)))
initaddr(&tmpaddr);
parseaddr(argv[optind], 0, paf_parse, &tmpaddr);
- if ((fd_udp = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0 ||
+ if ((fd_udp = socket(tmpaddr.sa.sa_family, SOCK_DGRAM, IPPROTO_UDP)) < 0 ||
nonblockify(fd_udp) || cloexec(fd_udp) ||
setsockopt(fd_udp, SOL_SOCKET, SO_RCVBUF, &len, sizeof(len)) ||
setsockopt(fd_udp, SOL_SOCKET, SO_SNDBUF, &len, sizeof(len)) ||