memset(nif, 0, sizeof(nif));
- if (phyidx > -1)
+ if ((d = opendir("/sys/class/net")) != NULL)
{
- if ((d = opendir("/sys/class/net")) != NULL)
+ while ((e = readdir(d)) != NULL)
{
- while ((e = readdir(d)) != NULL)
+ snprintf(buffer, sizeof(buffer),
+ "/sys/class/net/%s/phy80211/index", e->d_name);
+
+ if (nl80211_readint(buffer) == phyidx)
{
snprintf(buffer, sizeof(buffer),
- "/sys/class/net/%s/phy80211/index", e->d_name);
+ "/sys/class/net/%s/ifindex", e->d_name);
- if (nl80211_readint(buffer) == phyidx)
+ if ((cifidx = nl80211_readint(buffer)) >= 0 &&
+ ((ifidx < 0) || (cifidx < ifidx)))
{
- snprintf(buffer, sizeof(buffer),
- "/sys/class/net/%s/ifindex", e->d_name);
-
- if ((cifidx = nl80211_readint(buffer)) >= 0 &&
- ((ifidx < 0) || (cifidx < ifidx)))
- {
- ifidx = cifidx;
- strncpy(nif, e->d_name, sizeof(nif) - 1);
- }
+ ifidx = cifidx;
+ strncpy(nif, e->d_name, sizeof(nif) - 1);
}
}
-
- closedir(d);
}
+
+ closedir(d);
}
return nif[0] ? nif : NULL;