]> git.ipfire.org Git - thirdparty/dhcpcd.git/commitdiff
If a device is not found, report it.
authorRoy Marples <roy@marples.name>
Thu, 14 Aug 2008 16:15:45 +0000 (16:15 +0000)
committerRoy Marples <roy@marples.name>
Thu, 14 Aug 2008 16:15:45 +0000 (16:15 +0000)
net.c

diff --git a/net.c b/net.c
index abad305957f04afe0d1a6a2efd53a3e8cffd7ab3..8217aa810498abd8971182ebc38c5208979ce49d 100644 (file)
--- a/net.c
+++ b/net.c
@@ -183,7 +183,7 @@ do_interface(const char *ifname,
 {
        int s;
        struct ifconf ifc;
-       int retval = 0;
+       int retval = 0, found = 0;
        int len = 10 * sizeof(struct ifreq);
        int lastlen = 0;
        char *p;
@@ -240,6 +240,8 @@ do_interface(const char *ifname,
                if (strcmp(ifname, ifr->ifr_name) != 0)
                        continue;
 
+               found = 1;
+
 #ifdef AF_LINK
                if (hwaddr && hwlen && ifr->ifr_addr.sa_family == AF_LINK) {
                        sdl = xmalloc(ifr->ifr_addr.sa_len);
@@ -275,6 +277,8 @@ do_interface(const char *ifname,
 
        }
 
+       if (!found)
+               errno = ENXIO;
        close(s);
        free(ifc.ifc_buf);
        return retval;