Open Ghazigq opened 1 year ago
说反了?windows是‘-’分割,linux是'-'分割?
没说反呀,sysnetconfig文件中,windows就是冒号,linux是-号
#if !defined(OS_MAC)
static int network_getmac(const struct ifaddrs *ifaddr, const char* ifname, char hwaddr[20])
{
const struct ifaddrs *ifa = NULL;
struct sockaddr_ll *macaddr = NULL;
for(ifa = ifaddr; ifa; ifa = ifa->ifa_next)
{
if(0 == strcmp(ifa->ifa_name, ifname)
&& AF_PACKET == ifa->ifa_addr->sa_family
&& ifa->ifa_addr )
{
macaddr = (struct sockaddr_ll*)ifa->ifa_addr;
sprintf(hwaddr, "%02X-%02X-%02X-%02X-%02X-%02X",
(unsigned int)(macaddr->sll_addr[0]),
(unsigned int)(macaddr->sll_addr[1]),
(unsigned int)(macaddr->sll_addr[2]),
(unsigned int)(macaddr->sll_addr[3]),
(unsigned int)(macaddr->sll_addr[4]),
(unsigned int)(macaddr->sll_addr[5]));
return 0;
}
}
return -1;
}
#endif
是的,可以修改为跟系统一致。
还有个编译问题
else if (pAdapter->FirstGatewayAddress && AF_INET6 == AF_INET == pAdapter->FirstGatewayAddress->Address.lpSockaddr->sa_family)
inet_ntop(AF_INET6, &((struct sockaddr_in6*)pAdapter->FirstGatewayAddress->Address.lpSockaddr)->sin6_addr, gateway, sizeof(gateway));
linux下的network_getmac返回的mac地址,是否可以更改冒号作为分隔符而非"-",这样可以跟windows保持一致