[packages/python-ifconfig] Add package python-ifconfig
[openwrt/svn-archive/archive.git] / lang / python-ifconfig / patches / 002-checkflags-up.patch
1 --- a/ifconfig.old 2010-12-10 12:14:12.026329707 +0100
2 +++ b/ifconfig.c 2010-12-10 12:15:18.374672352 +0100
3 @@ -64,20 +64,22 @@
4 sprintf(hwaddr, "%02x:%02x:%02x:%02x:%02x:%02x",
5 *hw, *(hw + 1), *(hw + 2), *(hw + 3), *(hw + 4), *(hw + 5));
6
7 - /* address */
8 - ioctl(fd, SIOCGIFADDR, &ifreq);
9 - sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
10 - sprintf(addr, "%s", inet_ntoa(sin->sin_addr));
11 -
12 - /* broadcast */
13 - ioctl(fd, SIOCGIFBRDADDR, &ifreq);
14 - sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
15 - sprintf(brdaddr, "%s", inet_ntoa(sin->sin_addr));
16 -
17 - /* netmask */
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) {
22 + /* address */
23 + ioctl(fd, SIOCGIFADDR, &ifreq);
24 + sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
25 + sprintf(addr, "%s", inet_ntoa(sin->sin_addr));
26 +
27 + /* broadcast */
28 + ioctl(fd, SIOCGIFBRDADDR, &ifreq);
29 + sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
30 + sprintf(brdaddr, "%s", inet_ntoa(sin->sin_addr));
31 +
32 + /* netmask */
33 + ioctl(fd, SIOCGIFNETMASK, &ifreq);
34 + sin = (struct sockaddr_in *)&ifreq.ifr_broadaddr;
35 + sprintf(netmask, "%s", inet_ntoa(sin->sin_addr));
36 + }
37 }
38
39 close(fd);