rendered paste body--- ntpdate/ntpdate.c.orig 2006-10-14 01:39:35.000000000 +0400
+++ ntpdate/ntpdate.c 2006-10-14 01:37:09.000000000 +0400
@@ -1339,16 +1339,16 @@
* (non-blocking).
*/
static int
-is_reachable (struct sockaddr_storage *dst)
+is_reachable (struct addrinfo *dst)
{
SOCKET sockfd;
- sockfd = socket(dst->ss_family, SOCK_DGRAM, 0);
+ sockfd = socket(dst->ai_family, SOCK_DGRAM, 0);
if (sockfd == -1) {
return 0;
}
- if(connect(sockfd, (struct sockaddr *)dst, SOCKLEN(dst))) {
+ if(connect(sockfd, (struct sockaddr *)(dst->ai_addr), SOCKLEN(dst))) {
closesocket(sockfd);
return 0;
}
@@ -1403,7 +1403,7 @@
/* We must get all returned server in case the first one fails */
for (ptr = addrResult; ptr != NULL; ptr = ptr->ai_next) {
- if (is_reachable ((struct sockaddr_storage *)ptr->ai_addr)) {
+ if (is_reachable (ptr)) {
server = (struct server *)emalloc(sizeof(struct server));
memset((char *)server, 0, sizeof(struct server));