net_interface_config does not have to bail w/o ip address

This commit is contained in:
Doug MacEachern 2006-11-05 03:17:58 +00:00
parent 72dcec2dde
commit e8302a72f3
1 changed files with 13 additions and 13 deletions

View File

@ -2352,19 +2352,17 @@ sigar_net_interface_config_get(sigar_t *sigar,
ifr->dwIndex, ifr->dwIndex,
&ipaddr); &ipaddr);
if (status != SIGAR_OK) { if (status == SIGAR_OK) {
return status; sigar_net_address_set(ifconfig->address,
ipaddr->dwAddr);
sigar_net_address_set(ifconfig->netmask,
ipaddr->dwMask);
sigar_net_address_set(ifconfig->broadcast,
ipaddr->dwBCastAddr);
} }
sigar_net_address_set(ifconfig->address,
ipaddr->dwAddr);
sigar_net_address_set(ifconfig->netmask,
ipaddr->dwMask);
sigar_net_address_set(ifconfig->broadcast,
ipaddr->dwBCastAddr);
/* hack for MS_LOOPBACK_ADAPTER */ /* hack for MS_LOOPBACK_ADAPTER */
if (strnEQ(name, NETIF_LA, sizeof(NETIF_LA)-1)) { if (strnEQ(name, NETIF_LA, sizeof(NETIF_LA)-1)) {
ifr->dwType = MIB_IF_TYPE_LOOPBACK; ifr->dwType = MIB_IF_TYPE_LOOPBACK;
@ -2377,8 +2375,10 @@ sigar_net_interface_config_get(sigar_t *sigar,
SIGAR_NIC_LOOPBACK); SIGAR_NIC_LOOPBACK);
} }
else { else {
ifconfig->flags |= if (ipaddr) {
SIGAR_IFF_BROADCAST|SIGAR_IFF_MULTICAST; ifconfig->flags |=
SIGAR_IFF_BROADCAST|SIGAR_IFF_MULTICAST;
}
SIGAR_SSTRCPY(ifconfig->type, SIGAR_SSTRCPY(ifconfig->type,
SIGAR_NIC_ETHERNET); SIGAR_NIC_ETHERNET);