URI: 
       close file descriptors and fix return values - slstatus - status monitor
  HTML git clone git://git.suckless.org/slstatus
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit a9193a757a510e07e69b18ca64d2e50d467f01c1
   DIR parent c1dc896c806693a4a368abf59e6890d32d520074
  HTML Author: Michael Buch <michaelbuch12@gmail.com>
       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(-)
       ---
   DIR 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_BSSID, &len))
                        {
                                /* Retrieve info on station with above BSSID */
       @@ -229,12 +231,13 @@
                                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 @@
                                        len = sizeof(ssid);
        
                                ssid[len - 1] = '\0';
       -                        return bprintf("%s", ssid);
       +                        fmt = bprintf("%s", ssid);
                        }
        
       -                return NULL;
       +                close(sockfd);
       +                return fmt;
                }
        #endif