static void update_address_ipv4(connection_t *c, void *address, void *port) {
sockaddrfree(&c->address);
static void update_address_ipv4(connection_t *c, void *address, void *port) {
sockaddrfree(&c->address);
c->address.sa.sa_family = AF_INET;
if(address)
memcpy(&c->address.in.sin_addr, address, sizeof(ipv4_t));
c->address.sa.sa_family = AF_INET;
if(address)
memcpy(&c->address.in.sin_addr, address, sizeof(ipv4_t));
static void update_address_ipv6(connection_t *c, void *address, void *port) {
sockaddrfree(&c->address);
static void update_address_ipv6(connection_t *c, void *address, void *port) {
sockaddrfree(&c->address);
c->address.sa.sa_family = AF_INET6;
if(address)
memcpy(&c->address.in6.sin6_addr, address, sizeof(ipv6_t));
c->address.sa.sa_family = AF_INET6;
if(address)
memcpy(&c->address.in6.sin6_addr, address, sizeof(ipv6_t));