Changeset 783


Ignore:
Timestamp:
Aug 11, 2010, 8:15:33 PM (15 years ago)
Author:
Dmitry A. Kuminov
Message:

network: Filter out garbage entries returned by ioctl(SIOCGIFCONF) on OS/2 so they don't appear in the QNetworkInteface::allInterfaces() list.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/network/kernel/qnetworkinterface_os2.cpp

    r659 r783  
    121121    int interfaceCount = interfaceList.ifc_len / sizeof(ifreq);
    122122    for (int i = 0; i < interfaceCount; ++i) {
    123         QByteArray name = QByteArray(interfaceList.ifc_req[i].ifr_name);
    124         if (!name.isEmpty())
    125             result << name;
     123        // for some reason, this ioctl returns garbage entries (names starting
     124        // with characters like 0x00, 0x06, 0x14 and even 0x22). Filter those
     125        // out by requiring the first character to be a latin letter.
     126        if (!isalpha(interfaceList.ifc_req[i].ifr_name[0]))
     127            continue;
     128        result << QByteArray(interfaceList.ifc_req[i].ifr_name);
    126129    }
    127130
Note: See TracChangeset for help on using the changeset viewer.