| 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) { |