addr_port
void *addr_ptr, *addr_port;
addr_port = &((struct sockaddr_in *)addr)->sin_port;
addr_port = &((struct sockaddr_in6 *)addr)->sin6_port;
memcpy (ptr, addr_port, 2);
char *addr_port, *addr;
addr = addr_port = strdup(_addr_port);
if (addr_port[0] == '[') {
if (strlen(addr_port) < strlen("[::]:0"))
addr = addr_port + 1;
colon = strchr(addr_port, ':');
free(addr_port);