peer->addr, &peer->addrlen);
return len;
}
-next_recv:
+
+ while (1) {
/* FIXME: What about using a loop here and continue instead of goto???? */
/* FWP_EPOINT_RELIABLE */
fdset = epoint->fdset;
if (FD_ISSET(epoint->sockd, &fdset)) { /* is it listen socket? */
if (epoint->nr_connections == epoint->attr.max_connections)
- goto next_recv;
+ continue;
csockd = accept(epoint->sockd, (struct sockaddr*)peer->addr,
&peer->addrlen);
epoint->nr_connections++;
FD_SET(csockd, &epoint->fdset);
-
- goto next_recv;
+ continue;
}
/* Check client TCP sockets */
memcpy(epoint->c_sockd+i, epoint->c_sockd+i+1,
sizeof(int)*(epoint->nr_connections -i-1));
epoint->nr_connections--;
- goto next_recv;
+ continue;
}
}
-
- return -EPERM;
+
+ }
}
/**