Wifi (BSD): correctly prioritize Wi-Fi protocol detection

by using an `if-else if` chain
This commit is contained in:
李通洲
2025-04-29 13:50:53 +08:00
parent d8c1b3b61b
commit 0980d5f0ad
2 changed files with 27 additions and 26 deletions
+13 -12
View File
@@ -83,22 +83,23 @@ const char* ffDetectWifi(FFlist* result)
item->conn.channel = curchan.ic_ieee;
item->conn.frequency = curchan.ic_freq;
if (IEEE80211_IS_CHAN_FHSS(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11 (FHSS)");
if (IEEE80211_IS_CHAN_A(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11a");
if (IEEE80211_IS_CHAN_B(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11b");
if (IEEE80211_IS_CHAN_ANYG(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11g");
if (IEEE80211_IS_CHAN_HT(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11n (Wi-Fi 4)");
if (IEEE80211_IS_CHAN_VHT(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11ac (Wi-Fi 5)");
#ifdef IEEE80211_IS_CHAN_HE // for future use
if (IEEE80211_IS_CHAN_HE(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11ax (Wi-Fi 6)");
else
#endif
if (IEEE80211_IS_CHAN_VHT(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11ac (Wi-Fi 5)");
else if (IEEE80211_IS_CHAN_HT(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11n (Wi-Fi 4)");
else if (IEEE80211_IS_CHAN_ANYG(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11g");
else if (IEEE80211_IS_CHAN_B(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11b");
else if (IEEE80211_IS_CHAN_A(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11a");
else if (IEEE80211_IS_CHAN_FHSS(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11 (FHSS)");
}
union {
+14 -14
View File
@@ -94,23 +94,23 @@ const char* ffDetectWifi(FFlist* result)
item->conn.channel = ffWifiFreqToChannel(curchan.ic_freq);
item->conn.frequency = curchan.ic_freq;
if (IEEE80211_IS_CHAN_FHSS(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11 (FHSS)");
if (IEEE80211_IS_CHAN_A(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11a");
if (IEEE80211_IS_CHAN_B(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11b");
if (IEEE80211_IS_CHAN_ANYG(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11g");
if (IEEE80211_IS_CHAN_HT(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11n (Wi-Fi 4)");
if (IEEE80211_IS_CHAN_VHT(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11ac (Wi-Fi 5)");
#ifdef IEEE80211_IS_CHAN_HE
#ifdef IEEE80211_IS_CHAN_HE // for future use
if (IEEE80211_IS_CHAN_HE(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11ax (Wi-Fi 6)");
else
#endif
if (IEEE80211_IS_CHAN_VHT(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11ac (Wi-Fi 5)");
else if (IEEE80211_IS_CHAN_HT(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11n (Wi-Fi 4)");
else if (IEEE80211_IS_CHAN_ANYG(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11g");
else if (IEEE80211_IS_CHAN_B(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11b");
else if (IEEE80211_IS_CHAN_A(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11a");
else if (IEEE80211_IS_CHAN_FHSS(&curchan))
ffStrbufSetStatic(&item->conn.protocol, "802.11 (FHSS)");
}
union {