]> git.sur5r.net Git - i3/i3status/blobdiff - src/first_network_device.c
disk: don't remove trailing slash if path is a single character
[i3/i3status] / src / first_network_device.c
index 4e680069290b9120f6d493baf78c4d62851a6cef..593238531223bd401696d94d9cc3e389db05a7d2 100644 (file)
@@ -94,18 +94,21 @@ static net_type_t iface_type(const char *ifname) {
     strlcpy(bssid.i_name, ifname, sizeof(bssid.i_name));
     ibssid = ioctl(s, SIOCG80211BSSID, &bssid);
 
-    if (ibssid == 0 || inwid == 0)
+    if (ibssid == 0 || inwid == 0) {
+        close(s);
         return NET_TYPE_WIRELESS;
+    }
 
     (void)memset(&ifmr, 0, sizeof(ifmr));
     (void)strlcpy(ifmr.ifm_name, ifname, sizeof(ifmr.ifm_name));
 
-    if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0)
+    if (ioctl(s, SIOCGIFMEDIA, (caddr_t)&ifmr) < 0) {
+        close(s);
         return NET_TYPE_OTHER;
-    else
+    } else {
+        close(s);
         return NET_TYPE_ETHERNET;
-
-    close(s);
+    }
 #else
 #error Missing implementation to determine interface type.
 #endif