make sure primary ip is used for net_interface_config

This commit is contained in:
Doug MacEachern 2006-11-03 19:28:51 +00:00
parent 64be681de6
commit ef0752391c
1 changed files with 11 additions and 15 deletions

View File

@ -2264,22 +2264,18 @@ sigar_net_interface_config_get(sigar_t *sigar,
if (status == SIGAR_OK) { if (status == SIGAR_OK) {
char *addr; char *addr;
if (adapter->CurrentIpAddress) { IP_ADDR_STRING *ip = &adapter->IpAddressList;
addr = adapter->CurrentIpAddress->IpAddress.String;
sigar_net_address_set(ifconfig->address, /* last address in the list is the primary */
inet_addr(addr)); while (ip->Next) {
addr = adapter->CurrentIpAddress->IpMask.String; ip = ip->Next;
sigar_net_address_set(ifconfig->netmask,
inet_addr(addr));
}
else {
addr = adapter->IpAddressList.IpAddress.String;
sigar_net_address_set(ifconfig->address,
inet_addr(addr));
addr = adapter->IpAddressList.IpMask.String;
sigar_net_address_set(ifconfig->netmask,
inet_addr(addr));
} }
addr = ip->IpAddress.String;
sigar_net_address_set(ifconfig->address,
inet_addr(addr));
addr = ip->IpMask.String;
sigar_net_address_set(ifconfig->netmask,
inet_addr(addr));
} }
/* hack for MS_LOOPBACK_ADAPTER */ /* hack for MS_LOOPBACK_ADAPTER */