wifi: fixed disconnected wifi status on openbsd - slstatus - status monitor | |
git clone git://git.suckless.org/slstatus | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit 8c8091f4f165974c44d75dd9ccc7cc4dcd1d1c96 | |
parent b0401b13bb78bacde9d10b00766830cbeb2c90f6 | |
Author: Tobias Tschinkowitz <[email protected]> | |
Date: Thu, 31 May 2018 13:53:49 +0200 | |
wifi: fixed disconnected wifi status on openbsd | |
Diffstat: | |
M components/wifi.c | 7 +++++++ | |
1 file changed, 7 insertions(+), 0 deletions(-) | |
--- | |
diff --git a/components/wifi.c b/components/wifi.c | |
@@ -109,6 +109,7 @@ | |
{ | |
struct ieee80211_bssid bssid; | |
int sockfd; | |
+ uint8_t zero_bssid[IEEE80211_ADDR_LEN]; | |
memset(&bssid, 0, sizeof(bssid)); | |
memset(nr, 0, sizeof(struct ieee80211_nodereq)); | |
@@ -122,6 +123,12 @@ | |
close(sockfd); | |
return 0; | |
} | |
+ memset(&zero_bssid, 0, sizeof(zero_bssid)); | |
+ if (memcmp(bssid.i_bssid, zero_bssid, | |
+ IEEE80211_ADDR_LEN) == 0) { | |
+ close(sockfd); | |
+ return 0; | |
+ } | |
strlcpy(nr->nr_ifname, iface, sizeof(nr->nr_ifname)); | |
memcpy(&nr->nr_macaddr, bssid.i_bssid, sizeof(nr->nr_macaddr)); | |
if ((ioctl(sockfd, SIOCG80211NODE, nr)) < 0 && nr->nr_rssi) { |