diff options
author | Dan Robertson <dan.robertson@anidata.org> | 2017-03-22 00:39:49 +0000 |
---|---|---|
committer | Dan Robertson <danlrobertson89@gmail.com> | 2018-03-29 10:46:36 +0000 |
commit | 6a75ea9aea3bd7fd75d7c3e235b89586bbda4bdf (patch) | |
tree | d51ccd04c7b7207cf789a030166747c25c8bc922 | |
parent | 5abed8241987a1cb77a4e8e6856f4c7efad3ef0b (diff) |
Show IP address when address has a label
If an address has been added with a label, ensure the correct address is
shown.
-rw-r--r-- | src/print_ip_addr.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/print_ip_addr.c b/src/print_ip_addr.c index f9cd1f4..c955c1c 100644 --- a/src/print_ip_addr.c +++ b/src/print_ip_addr.c @@ -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) { |