Show IP address when address has a label

If an address has been added with a label, ensure the correct address is
shown.
This commit is contained in:
Dan Robertson 2017-03-22 00:39:49 +00:00 committed by Dan Robertson
parent 5abed82419
commit 6a75ea9aea
No known key found for this signature in database
GPG Key ID: 7EC29FB7EEE98BEF

View File

@ -29,6 +29,7 @@ const char *get_ip_addr(const char *interface, int family) {
struct ifaddrs *ifaddr, *addrp;
bool found = false;
int interface_len = strlen(interface);
getifaddrs(&ifaddr);
@ -39,13 +40,13 @@ const char *get_ip_addr(const char *interface, int family) {
for (addrp = ifaddr;
(addrp != NULL &&
(strcmp(addrp->ifa_name, interface) != 0 ||
(strncmp(addrp->ifa_name, interface, interface_len) != 0 ||
addrp->ifa_addr == NULL ||
addrp->ifa_addr->sa_family != family));
addrp = addrp->ifa_next) {
/* Check if the interface is down */
if (strcmp(addrp->ifa_name, interface) != 0)
if (strncmp(addrp->ifa_name, interface, interface_len) != 0)
continue;
found = true;
if ((addrp->ifa_flags & IFF_RUNNING) == 0) {