New accept/connect code.
Better error checking. Better tests. __tostring implemented.
This commit is contained in:
parent
42e0e74487
commit
0c9f420a35
10 changed files with 424 additions and 196 deletions
14
src/inet.c
14
src/inet.c
|
@ -213,8 +213,7 @@ const char *inet_tryconnect(p_sock ps, const char *address,
|
|||
/*-------------------------------------------------------------------------*\
|
||||
* Tries to bind socket to (address, port)
|
||||
\*-------------------------------------------------------------------------*/
|
||||
const char *inet_trybind(p_sock ps, const char *address, unsigned short port,
|
||||
int backlog)
|
||||
const char *inet_trybind(p_sock ps, const char *address, unsigned short port)
|
||||
{
|
||||
struct sockaddr_in local;
|
||||
const char *err;
|
||||
|
@ -231,16 +230,9 @@ const char *inet_trybind(p_sock ps, const char *address, unsigned short port,
|
|||
addr = (struct in_addr **) hp->h_addr_list;
|
||||
memcpy(&local.sin_addr, *addr, sizeof(struct in_addr));
|
||||
}
|
||||
sock_setblocking(ps);
|
||||
err = sock_bind(ps, (SA *) &local, sizeof(local));
|
||||
if (err) {
|
||||
sock_destroy(ps);
|
||||
return err;
|
||||
} else {
|
||||
sock_setnonblocking(ps);
|
||||
if (backlog >= 0) sock_listen(ps, backlog);
|
||||
return NULL;
|
||||
}
|
||||
if (err) sock_destroy(ps);
|
||||
return err;
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*\
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue