rem: if (proto==PROTO_TCP){
add: case PROTO_TCP:
context: struct socket_info* get_send_socket(union sockaddr_union* to, int proto){	struct socket_info* send_sock;	if (mhomed && proto==PROTO_UDP) return get_out_socket(to, proto);	send_sock=0;	/* check if we need to change the socket (different address families -	 * eg: ipv4 -> ipv6 or ipv6 -> ipv4) */#ifdef USE_TCP	if (proto==PROTO_TCP){		/* on tcp just use the "main address", we don't really now the		 * sending address (we can find it out, but we'll need also to see		 * if we listen on it, and if yes on which port -> too complicated*/		switch(to->s.sa_family){			case AF_INET:	send_sock=sendipv4_tcp;							break;#ifdef USE_IPV6			case AF_INET6:	send_sock=sendipv6_tcp;							break;#endif			default:		LOG(L_ERR, "get_send_socket: BUG: don't know how"									" to forward to af %d\n", to->s.sa_family);		}	}else#endif	      if ((bind_address==0) ||(to->s.sa_family!=bind_address->address.af)){		switch(to->s.sa_family){			case AF_INET:	send_sock=sendipv4;							break;#ifdef USE_IPV6			case AF_INET6:	send_sock=sendipv6;							break;#endif			default:		LOG(L_ERR, "get_send_socket: BUG: don't know how"									" to forward to af %d\n", to->s.sa_family);		}	}else send_sock=bind_address;	return send_sock;}