|  | @@ -5031,7 +5031,7 @@ extern "C" {
 | 
	
		
			
				|  |  |          ((uint8_t *)&out->s_addr)[3] = in->s6_addr[15];
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    int enet_in6addr_lookup_host(const char *name, bool nodns, struct in6_addr *out) {
 | 
	
		
			
				|  |  | +    int enet_in6addr_lookup_host(const char *name, bool nodns, ENetAddress *out) {
 | 
	
		
			
				|  |  |          struct addrinfo hints, *resultList = NULL, *result = NULL;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          memset(&hints, 0, sizeof(hints));
 | 
	
	
		
			
				|  | @@ -5053,7 +5053,8 @@ extern "C" {
 | 
	
		
			
				|  |  |          for (result = resultList; result != NULL; result = result->ai_next) {
 | 
	
		
			
				|  |  |              if (result->ai_addr != NULL) {
 | 
	
		
			
				|  |  |                  if (result->ai_family == AF_INET || (result->ai_family == AF_UNSPEC && result->ai_addrlen == sizeof(struct sockaddr_in))) {
 | 
	
		
			
				|  |  | -                    enet_inaddr_map4to6(((struct sockaddr_in*)result->ai_addr)->sin_addr, out);
 | 
	
		
			
				|  |  | +                    enet_inaddr_map4to6(((struct sockaddr_in*)result->ai_addr)->sin_addr, &out->host);
 | 
	
		
			
				|  |  | +                    out->sin6_scope_id = 0;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      if (resultList != NULL) {
 | 
	
		
			
				|  |  |                          freeaddrinfo(resultList);
 | 
	
	
		
			
				|  | @@ -5061,7 +5062,8 @@ extern "C" {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      return 0;
 | 
	
		
			
				|  |  |                  } else if (result->ai_family == AF_INET6 || (result->ai_family == AF_UNSPEC && result->ai_addrlen == sizeof(struct sockaddr_in6))) {
 | 
	
		
			
				|  |  | -                    memcpy(out, &((struct sockaddr_in6*)result->ai_addr)->sin6_addr, sizeof(struct in6_addr));
 | 
	
		
			
				|  |  | +                    memcpy(&out->host, &((struct sockaddr_in6*)result->ai_addr)->sin6_addr, sizeof(struct in6_addr));
 | 
	
		
			
				|  |  | +                    out->sin6_scope_id = (enet_uint16) ((struct sockaddr_in6*)result->ai_addr)->sin6_scope_id;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |                      if (resultList != NULL) {
 | 
	
		
			
				|  |  |                          freeaddrinfo(resultList);
 | 
	
	
		
			
				|  | @@ -5080,11 +5082,11 @@ extern "C" {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      int enet_address_set_host_ip_new(ENetAddress *address, const char *name) {
 | 
	
		
			
				|  |  | -        return enet_in6addr_lookup_host(name, true, &address->host);
 | 
	
		
			
				|  |  | +        return enet_in6addr_lookup_host(name, true, address);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      int enet_address_set_host_new(ENetAddress *address, const char *name) {
 | 
	
		
			
				|  |  | -        return enet_in6addr_lookup_host(name, false, &address->host);
 | 
	
		
			
				|  |  | +        return enet_in6addr_lookup_host(name, false, address);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      int enet_address_get_host_ip_new(const ENetAddress *address, char *name, size_t nameLength) {
 |