all repos — slstatus @ a9193a757a510e07e69b18ca64d2e50d467f01c1

my build of slstatus (tools.suckless.org/slstatus/)

close file descriptors and fix return values
Michael Buch michaelbuch12@gmail.com
Wed, 13 Feb 2019 14:16:17 +0000
commit

a9193a757a510e07e69b18ca64d2e50d467f01c1

parent

c1dc896c806693a4a368abf59e6890d32d520074

1 files changed, 12 insertions(+), 6 deletions(-)

jump to
M components/wifi.ccomponents/wifi.c

@@ -211,14 +211,16 @@ uint8_t bssid[IEEE80211_ADDR_LEN];

int rssi_dbm; int sockfd; size_t len; + const char *fmt; if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { warn("socket 'AF_INET':"); - return 0; + return NULL; } /* Retreive MAC address of interface */ len = IEEE80211_ADDR_LEN; + fmt = NULL; if (load_ieee80211req(sockfd, interface, &bssid, IEEE80211_IOC_BSSID, &len)) { /* Retrieve info on station with above BSSID */

@@ -229,12 +231,13 @@ len = sizeof(info);

if (load_ieee80211req(sockfd, interface, &info, IEEE80211_IOC_STA_INFO, &len)) { rssi_dbm = info.sta.info[0].isi_noise + info.sta.info[0].isi_rssi / 2; - return bprintf("%d", RSSI_TO_PERC(rssi_dbm)); + + fmt = bprintf("%d", RSSI_TO_PERC(rssi_dbm)); } } close(sockfd); - return NULL; + return fmt; } const char *

@@ -243,12 +246,14 @@ {

char ssid[IEEE80211_NWID_LEN + 1]; size_t len; int sockfd; + const char *fmt; if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { warn("socket 'AF_INET':"); - return 0; + return NULL; } + fmt = NULL; len = sizeof(ssid); memset(&ssid, 0, len); if (load_ieee80211req(sockfd, interface, &ssid, IEEE80211_IOC_SSID, &len )) {

@@ -258,9 +263,10 @@ else

len = sizeof(ssid); ssid[len - 1] = '\0'; - return bprintf("%s", ssid); + fmt = bprintf("%s", ssid); } - return NULL; + close(sockfd); + return fmt; } #endif