Merge branch 'master' into pico_sdk
This commit is contained in:
@@ -1207,8 +1207,10 @@ PIEthernet::InterfaceList PIEthernet::interfaces() {
|
||||
strcpy(ir.ifr_name, in.dataAscii());
|
||||
if (ioctl(s, SIOCGIFHWADDR, &ir) == 0) ci.mac = macFromBytes(PIByteArray(ir.ifr_hwaddr.sa_data, 6));
|
||||
if (ioctl(s, SIOCGIFADDR, &ir) >= 0) ci.address = getSockAddr(&ir.ifr_addr);
|
||||
if (ioctl(s, SIOCGIFNETMASK, &ir) >= 0) ci.netmask = getSockAddr(&ir.ifr_addr);
|
||||
ioctl(s, SIOCGIFMTU, &ci.mtu);
|
||||
if (ioctl(s, SIOCGIFNETMASK, &ir) >= 0) ci.netmask = getSockAddr(&ir.ifr_netmask);
|
||||
if (ioctl(s, SIOCGIFMTU, &ir) == 0) {
|
||||
ci.mtu = ir.ifr_mtu;
|
||||
}
|
||||
if (ci.address == "127.0.0.1") ci.flags |= PIEthernet::ifLoopback;
|
||||
il << ci;
|
||||
}
|
||||
@@ -1302,7 +1304,7 @@ PINetworkAddress PIEthernet::interfaceAddress(const PIString & interface_) {
|
||||
# else
|
||||
struct ifreq ifr;
|
||||
piZeroMemory(ifr);
|
||||
strcpy(ifr.ifr_name, interface_.dataAscii());
|
||||
strncpy(ifr.ifr_name, interface_.dataAscii(), sizeof(ifr.ifr_name));
|
||||
int s = ::socket(AF_INET, SOCK_DGRAM, 0);
|
||||
if (s != -1) {
|
||||
ioctl(s, SIOCGIFADDR, &ifr);
|
||||
|
||||
Reference in New Issue
Block a user