From e3ef83a413333e0997c2dbe7e18fa937e7338437 Mon Sep 17 00:00:00 2001 From: Thomas Ries Date: Fri, 6 Dec 2002 19:30:25 +0000 Subject: [PATCH] fixed get_ip_by_ifname bug (not found of interfaces on odd place (1, 3, 5) --- src/utils.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/utils.c b/src/utils.c index d868cc6..2f39e01 100644 --- a/src/utils.c +++ b/src/utils.c @@ -440,10 +440,10 @@ int get_ip_by_ifname(char *ifname, struct in_addr *retaddr) { * seems to have disapeared on 2.4 (RH7) * len=SA_LEN((struct sockaddr *)&ifr->ifr_addr); */ - len=sizeof(struct ifreq); + len=IFNAMSIZ; #endif af=((struct sockaddr *)&ifr->ifr_addr)->sa_family; - i+=len+IFNAMSIZ; + i+=len; if(af != AF_INET) continue; DEBUG("[i=%i] IF %s, l=%i af=%i -> IP:%s", i, @@ -465,10 +465,10 @@ int get_ip_by_ifname(char *ifname, struct in_addr *retaddr) { * seems to have disapeared on 2.4 (RH7) * len=SA_LEN((struct sockaddr *)&ifr->ifr_addr); */ - len=sizeof(struct ifreq); + len=IFNAMSIZ; #endif af=((struct sockaddr *)&ifr->ifr_addr)->sa_family; - i+=len+IFNAMSIZ; + i+=len; if(af != AF_INET) continue; if (strcmp(ifr->ifr_name, ifname)==0) {