close file descriptors and fix return values - slstatus - status monitor | |
git clone git://git.suckless.org/slstatus | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit a9193a757a510e07e69b18ca64d2e50d467f01c1 | |
parent c1dc896c806693a4a368abf59e6890d32d520074 | |
Author: Michael Buch <[email protected]> | |
Date: Wed, 13 Feb 2019 14:16:17 +0000 | |
close file descriptors and fix return values | |
Diffstat: | |
M components/wifi.c | 18 ++++++++++++------ | |
1 file changed, 12 insertions(+), 6 deletions(-) | |
--- | |
diff --git a/components/wifi.c b/components/wifi.c | |
@@ -211,14 +211,16 @@ | |
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… | |
{ | |
/* Retrieve info on station with above BSSID */ | |
@@ -229,12 +231,13 @@ | |
if (load_ieee80211req(sockfd, interface, &info, IEEE80… | |
rssi_dbm = info.sta.info[0].isi_noise + | |
info.sta.info[0].isi_rssi / … | |
- 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_… | |
@@ -258,9 +263,10 @@ | |
len = sizeof(ssid); | |
ssid[len - 1] = '\0'; | |
- return bprintf("%s", ssid); | |
+ fmt = bprintf("%s", ssid); | |
} | |
- return NULL; | |
+ close(sockfd); | |
+ return fmt; | |
} | |
#endif |