mirror of https://github.com/aria2/aria2
				
				
				
			Use sockaddr_union in parseAsyncDNSServers().
							parent
							
								
									138130497f
								
							
						
					
					
						commit
						c01c34f24a
					
				|  | @ -120,12 +120,12 @@ ares_addr_node* parseAsyncDNSServers(const std::string& serversOpt) | ||||||
|       node->next = 0; |       node->next = 0; | ||||||
|       node->family = res->ai_family; |       node->family = res->ai_family; | ||||||
|       if(node->family == AF_INET) { |       if(node->family == AF_INET) { | ||||||
|         struct sockaddr_in* in = |         sockaddr_in* in = | ||||||
|           reinterpret_cast<struct sockaddr_in*>(res->ai_addr); |           &reinterpret_cast<sockaddr_union*>(res->ai_addr)->in; | ||||||
|         memcpy(&node->addr.addr4, &(in->sin_addr), 4); |         memcpy(&node->addr.addr4, &(in->sin_addr), 4); | ||||||
|       } else { |       } else { | ||||||
|         struct sockaddr_in6* in = |         sockaddr_in6* in = | ||||||
|           reinterpret_cast<struct sockaddr_in6*>(res->ai_addr); |           &reinterpret_cast<sockaddr_union*>(res->ai_addr)->in6; | ||||||
|         memcpy(&node->addr.addr6, &(in->sin6_addr), 16); |         memcpy(&node->addr.addr6, &(in->sin6_addr), 16); | ||||||
|       } |       } | ||||||
|       tail->next = node; |       tail->next = node; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Tatsuhiro Tsujikawa
						Tatsuhiro Tsujikawa