From a0e21b8fd998d88c7b29be0b4a1191717ea6aca3 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Mon, 30 Dec 2019 02:43:40 +0000 Subject: [PATCH] cleanup findInterface() function Signed-off-by: Ivailo Monev --- src/network/kernel/qnetworkinterface_unix.cpp | 69 +++++++++---------- 1 file changed, 32 insertions(+), 37 deletions(-) diff --git a/src/network/kernel/qnetworkinterface_unix.cpp b/src/network/kernel/qnetworkinterface_unix.cpp index 6eb8e9fcd..50bd886d5 100644 --- a/src/network/kernel/qnetworkinterface_unix.cpp +++ b/src/network/kernel/qnetworkinterface_unix.cpp @@ -167,7 +167,6 @@ static QSet interfaceNames(int socket) static QNetworkInterfacePrivate *findInterface(int socket, QList &interfaces, struct ifreq &req) { - QNetworkInterfacePrivate *iface = 0; int ifindex = 0; #ifndef QT_NO_IPV6IFNAME @@ -175,58 +174,54 @@ static QNetworkInterfacePrivate *findInterface(int socket, QList::Iterator if_it = interfaces.begin(); - for ( ; if_it != interfaces.end(); ++if_it) - if ((*if_it)->index == ifindex) { + foreach (QNetworkInterfacePrivate *it, interfaces) { + if (it->index == ifindex) { // existing interface - iface = *if_it; - break; + return it; } + } #else // Search by name - QList::Iterator if_it = interfaces.begin(); - for ( ; if_it != interfaces.end(); ++if_it) - if ((*if_it)->name == QLatin1String(req.ifr_name)) { + foreach (QNetworkInterfacePrivate *it, interfaces) { + if (it->name == QString::fromLatin1(req.ifr_name)) { // existing interface - iface = *if_it; - break; + return it; } + } #endif - if (!iface) { - // new interface, create data: - iface = new QNetworkInterfacePrivate; - iface->index = ifindex; - interfaces << iface; + // new interface, create data: + QNetworkInterfacePrivate *iface = new QNetworkInterfacePrivate; + iface->index = ifindex; + interfaces << iface; #ifdef SIOCGIFNAME - // Get the canonical name - QByteArray oldName = req.ifr_name; - if (qt_safe_ioctl(socket, SIOCGIFNAME, &req) >= 0) { - iface->name = QString::fromLatin1(req.ifr_name); + // Get the canonical name + QByteArray oldName = req.ifr_name; + if (qt_safe_ioctl(socket, SIOCGIFNAME, &req) >= 0) { + iface->name = QString::fromLatin1(req.ifr_name); - // reset the name: - memcpy(req.ifr_name, oldName, qMin(oldName.length() + 1, sizeof(req.ifr_name) - 1)); - } else + // reset the name: + memcpy(req.ifr_name, oldName, qMin(oldName.length() + 1, sizeof(req.ifr_name) - 1)); + } else #endif - { - // use this name anyways - iface->name = QString::fromLatin1(req.ifr_name); - } + { + // use this name anyways + iface->name = QString::fromLatin1(req.ifr_name); + } - // Get interface flags - if (qt_safe_ioctl(socket, SIOCGIFFLAGS, &req) >= 0) { - iface->flags = convertFlags(req.ifr_flags); - } + // Get interface flags + if (qt_safe_ioctl(socket, SIOCGIFFLAGS, &req) >= 0) { + iface->flags = convertFlags(req.ifr_flags); + } #ifdef SIOCGIFHWADDR - // Get the HW address - if (qt_safe_ioctl(socket, SIOCGIFHWADDR, &req) >= 0) { - uchar *addr = (uchar *)req.ifr_addr.sa_data; - iface->hardwareAddress = iface->makeHwAddress(6, addr); - } -#endif + // Get the HW address + if (qt_safe_ioctl(socket, SIOCGIFHWADDR, &req) >= 0) { + uchar *addr = (uchar *)req.ifr_addr.sa_data; + iface->hardwareAddress = iface->makeHwAddress(6, addr); } +#endif return iface; }