From: Ivailo Monev Date: Mon, 7 Mar 2022 00:53:26 +0000 (+0200) Subject: build fix for hosts without SIOCGIFHWADDR ioctl() X-Git-Tag: 4.12.0~777 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=de4457c54a637189ec0a4751c9b3138f384c9534;p=kde%2FKatie.git build fix for hosts without SIOCGIFHWADDR ioctl() Signed-off-by: Ivailo Monev --- diff --git a/src/network/kernel/qnetworkinterface_unix.cpp b/src/network/kernel/qnetworkinterface_unix.cpp index 8602379b4..5294b3a38 100644 --- a/src/network/kernel/qnetworkinterface_unix.cpp +++ b/src/network/kernel/qnetworkinterface_unix.cpp @@ -164,6 +164,7 @@ static QList interfaceListing() iface->addressEntries << entry; +#ifdef SIOCGIFHWADDR // not defined on FreeBSD struct ifreq req; ::memset(&req, 0, sizeof(ifreq)); ::memcpy(req.ifr_name, ptr->ifa_name, sizeof(req.ifr_name) - 1); @@ -172,6 +173,7 @@ static QList interfaceListing() uchar *addr = (uchar *)req.ifr_addr.sa_data; iface->hardwareAddress = iface->makeHwAddress(addr); } +#endif // SIOCGIFHWADDR } ::freeifaddrs(interfaceListing); @@ -274,7 +276,7 @@ static QNetworkInterfacePrivate *findInterface(int socket, QList(oldName.length() + 1, sizeof(req.ifr_name) - 1)); } else -#endif +#endif // SIOCGIFNAME { // use this name anyways iface->name = QString::fromLatin1(req.ifr_name); @@ -285,11 +287,13 @@ static QNetworkInterfacePrivate *findInterface(int socket, QListflags = convertFlags(req.ifr_flags); } +#ifdef SIOCGIFHWADDR // not defined on FreeBSD // Get the HW address if (::ioctl(socket, SIOCGIFHWADDR, &req) >= 0) { uchar *addr = (uchar *)req.ifr_addr.sa_data; iface->hardwareAddress = iface->makeHwAddress(addr); } +#endif // SIOCGIFHWADDR return iface; }