}
if (s->listen) {
- if ((fd = ff_listen_bind(fd, cur_ai->ai_addr, cur_ai->ai_addrlen,
- s->listen_timeout, h)) < 0) {
- ret = fd;
+ if ((ret = ff_listen_bind(fd, cur_ai->ai_addr, cur_ai->ai_addrlen,
+ s->listen_timeout, h)) < 0) {
goto fail1;
}
+ fd = ret;
} else {
if ((ret = ff_listen_connect(fd, cur_ai->ai_addr, cur_ai->ai_addrlen,
s->timeout, h, !!cur_ai->ai_next)) < 0) {
return ff_neterrno();
if (s->listen) {
- fd = ff_listen_bind(fd, (struct sockaddr *)&s->addr,
- sizeof(s->addr), s->timeout, h);
- if (fd < 0) {
- ret = fd;
+ ret = ff_listen_bind(fd, (struct sockaddr *)&s->addr,
+ sizeof(s->addr), s->timeout, h);
+ if (ret < 0)
goto fail;
- }
+ fd = ret;
} else {
ret = ff_listen_connect(fd, (struct sockaddr *)&s->addr,
sizeof(s->addr), s->timeout, h, 0);