From: Aaron Lipinski Date: Tue, 6 Apr 2021 04:00:41 +0000 (+1200) Subject: use addrinfo X-Git-Tag: v0.95~6^2~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e2e4674a3c4c3ff7fb477bc7cf38ec9ccf8d4d3;p=thirdparty%2Fmtr.git use addrinfo --- diff --git a/ui/mtr.c b/ui/mtr.c index ff1d995..253861b 100644 --- a/ui/mtr.c +++ b/ui/mtr.c @@ -842,7 +842,7 @@ int main( } } - if (net_open(&ctl, host) != 0) { + if (net_open(&ctl, res) != 0) { error(0, 0, "Unable to start net module"); if (ctl.Interactive) exit(EXIT_FAILURE); diff --git a/ui/net.c b/ui/net.c index 60d33e0..1df3503 100644 --- a/ui/net.c +++ b/ui/net.c @@ -736,7 +736,7 @@ static void net_find_local_address( int net_open( struct mtr_ctl *ctl, - struct hostent *hostent) + struct addrinfo *res) { int err; @@ -746,7 +746,7 @@ int net_open( return err; } - net_reopen(ctl, hostent); + net_reopen(ctl, res); return 0; } @@ -754,7 +754,7 @@ int net_open( void net_reopen( struct mtr_ctl *ctl, - struct hostent *hostent) + struct addrinfo *res) { int at; @@ -764,9 +764,9 @@ void net_reopen( net_reset(ctl); - ctl->af = remotesockaddr->sa_family = sourcesockaddr->sa_family = hostent->h_addrtype; + ctl->af = remotesockaddr->sa_family = sourcesockaddr->sa_family = res->ai_family; remoteaddress = sockaddr_addr_offset(remotesockaddr); - memcpy(remoteaddress, hostent->h_addr, sockaddr_addr_size(remotesockaddr)); + memcpy(remoteaddress, sockaddr_addr_offset(res->ai_addr), sockaddr_addr_size(remotesockaddr)); inet_ntop(remotesockaddr->sa_family, remoteaddress, remoteaddr, sizeof(remoteaddr)); sourceaddress = sockaddr_addr_offset(sourcesockaddr); diff --git a/ui/net.h b/ui/net.h index 38718fe..b323c25 100644 --- a/ui/net.h +++ b/ui/net.h @@ -33,10 +33,10 @@ extern int net_open( struct mtr_ctl *ctl, - struct hostent *host); + struct addrinfo *res); extern void net_reopen( struct mtr_ctl *ctl, - struct hostent *address); + struct addrinfo *res); extern void net_reset( struct mtr_ctl *ctl); extern void net_close(