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