MCPcopy Create free account
hub / github.com/ddnet/ddnet / net_tcp_accept

Function net_tcp_accept

src/base/net.cpp:1266–1306  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1264}
1265
1266int net_tcp_accept(NETSOCKET sock, NETSOCKET *new_sock, NETADDR *a)
1267{
1268 *new_sock = nullptr;
1269
1270 if(sock->ipv4sock >= 0)
1271 {
1272 sockaddr_storage addr;
1273 socklen_t sockaddr_len = sizeof(addr);
1274
1275 int s = accept(sock->ipv4sock, (sockaddr *)&addr, &sockaddr_len);
1276 if(s != -1)
1277 {
1278 sockaddr_to_netaddr((sockaddr *)&addr, sockaddr_len, a);
1279
1280 *new_sock = (NETSOCKET_INTERNAL *)malloc(sizeof(**new_sock));
1281 **new_sock = invalid_socket;
1282 (*new_sock)->type = NETTYPE_IPV4;
1283 (*new_sock)->ipv4sock = s;
1284 return s;
1285 }
1286 }
1287
1288 if(sock->ipv6sock >= 0)
1289 {
1290 sockaddr_storage addr;
1291 socklen_t sockaddr_len = sizeof(addr);
1292
1293 int s = accept(sock->ipv6sock, (sockaddr *)&addr, &sockaddr_len);
1294 if(s != -1)
1295 {
1296 *new_sock = (NETSOCKET_INTERNAL *)malloc(sizeof(**new_sock));
1297 **new_sock = invalid_socket;
1298 sockaddr_to_netaddr((sockaddr *)&addr, sockaddr_len, a);
1299 (*new_sock)->type = NETTYPE_IPV6;
1300 (*new_sock)->ipv6sock = s;
1301 return s;
1302 }
1303 }
1304
1305 return -1;
1306}
1307
1308int net_tcp_connect(NETSOCKET sock, const NETADDR *a)
1309{

Callers 1

UpdateMethod · 0.85

Calls 1

sockaddr_to_netaddrFunction · 0.85

Tested by

no test coverage detected