1 --- a/ifconfig.old 2010-12-10 12:14:12.026329707 +0100
2 +++ b/ifconfig.c 2010-12-10 12:15:18.374672352 +0100
4 sprintf(hwaddr, "%02x:%02x:%02x:%02x:%02x:%02x",
5 *hw, *(hw + 1), *(hw + 2), *(hw + 3), *(hw + 4), *(hw + 5));
8 - ioctl(fd, SIOCGIFADDR, &ifreq);
9 - sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
10 - sprintf(addr, "%s", inet_ntoa(sin->sin_addr));
13 - ioctl(fd, SIOCGIFBRDADDR, &ifreq);
14 - sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
15 - sprintf(brdaddr, "%s", inet_ntoa(sin->sin_addr));
18 - ioctl(fd, SIOCGIFNETMASK, &ifreq);
19 - sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
20 - sprintf(netmask, "%s", inet_ntoa(sin->sin_addr));
21 + if (flags & IFF_UP) {
23 + ioctl(fd, SIOCGIFADDR, &ifreq);
24 + sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
25 + sprintf(addr, "%s", inet_ntoa(sin->sin_addr));
28 + ioctl(fd, SIOCGIFBRDADDR, &ifreq);
29 + sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
30 + sprintf(brdaddr, "%s", inet_ntoa(sin->sin_addr));
33 + ioctl(fd, SIOCGIFNETMASK, &ifreq);
34 + sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
35 + sprintf(netmask, "%s", inet_ntoa(sin->sin_addr));