Skip to content

Commit

Permalink
Merge branch 'ip-display-fix'
Browse files Browse the repository at this point in the history
  • Loading branch information
padawin committed Nov 28, 2016
2 parents 75d6845 + 66b9fbf commit 0ffc408
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 17 deletions.
34 changes: 18 additions & 16 deletions net.c
Original file line number Diff line number Diff line change
Expand Up @@ -10,27 +10,29 @@ int net_getIPs(struct ifaddrs **ifap) {
return 0;
}

struct ifaddrs *net_getNextIP(struct ifaddrs **ifap, char **interface, char **addr) {
char net_getNextIP(struct ifaddrs **ifap, char **interface, char **addr) {
struct sockaddr_in *sa;
*interface = 0;
*addr = 0;

if (*ifap) {
if (
(*ifap)->ifa_addr->sa_family != AF_INET
|| IFF_LOOPBACK == ((*ifap)->ifa_flags & IFF_LOOPBACK)
) {
*ifap = (*ifap)->ifa_next;
return net_getNextIP(ifap, interface, addr);
}

sa = (struct sockaddr_in *) (*ifap)->ifa_addr;
*interface = (*ifap)->ifa_name;
*addr = inet_ntoa(sa->sin_addr);
*ifap = (*ifap)->ifa_next;
if (!*ifap) {
return 0;
}

return *ifap;
if (
(*ifap)->ifa_addr->sa_family != AF_INET
|| IFF_LOOPBACK == ((*ifap)->ifa_flags & IFF_LOOPBACK)
) {
*ifap = (*ifap)->ifa_next;
return net_getNextIP(ifap, interface, addr);
}

return 0;
sa = (struct sockaddr_in *) (*ifap)->ifa_addr;
*interface = (*ifap)->ifa_name;
*addr = inet_ntoa(sa->sin_addr);
*ifap = (*ifap)->ifa_next;

return 1;
}

void net_freeIfAddr(struct ifaddrs *ifap) {
Expand Down
2 changes: 1 addition & 1 deletion net.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#include <ifaddrs.h>

int net_getIPs(struct ifaddrs **ifap);
struct ifaddrs *net_getNextIP(struct ifaddrs **ifap, char **interface, char **addr);
char net_getNextIP(struct ifaddrs **ifap, char **interface, char **addr);
void net_freeIfAddr(struct ifaddrs *ifap);

#endif

0 comments on commit 0ffc408

Please sign in to comment.