X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/98f3985d3ee542fe98b8182ed8f4ced632032b31..d5fb46e61d037af21e99b5596f7a453fce155f67:/slstatus.c

diff --git a/slstatus.c b/slstatus.c
index 7b85a23..55bcdf8 100644
--- a/slstatus.c
+++ b/slstatus.c
@@ -126,7 +126,7 @@ battery_perc(const char *battery)
 
 static char *
 cpu_perc(void)
-{
+{ /* FIXME: ugly function, would be better without sleep(), see below */
 	int perc;
 	long double a[4], b[4];
 	FILE *fp = fopen("/proc/stat","r");
@@ -277,7 +277,6 @@ ip(const char *interface)
 		return smprintf(UNKNOWN_STR);
 	}
 
-	/* get the ip address */
 	for (ifa = ifaddr; ifa != NULL; ifa = ifa->ifa_next) {
 		if (ifa->ifa_addr == NULL)
 			continue;
@@ -294,7 +293,6 @@ ip(const char *interface)
 		}
 	}
 
-	/* free the address */
 	freeifaddrs(ifaddr);
 
 	return smprintf(UNKNOWN_STR);
@@ -455,11 +453,12 @@ username(void)
 	uid_t uid = geteuid();
 	struct passwd *pw = getpwuid(uid);
 
-	if (pw == NULL)
-		return smprintf("%s", pw->pw_name);
+	if (pw == NULL) {
+		warn("Could not get username");
+		return smprintf(UNKNOWN_STR);
+	}
 
-	warn("Could not get username");
-	return smprintf(UNKNOWN_STR);
+	return smprintf("%s", pw->pw_name);
 }
 
 static char *
@@ -511,7 +510,7 @@ wifi_perc(const char *wificard)
 	char status[5];
 	FILE *fp;
 
-	ccat(3, "/sys/class/net", wificard, "/operstate");
+	ccat(3, "/sys/class/net/", wificard, "/operstate");
 
 	fp = fopen(concat, "r");
 
@@ -602,7 +601,9 @@ main(void)
 		}
 		XStoreName(dpy, DefaultRootWindow(dpy), status_string);
 		XSync(dpy, False);
+		sleep(UPDATE_INTERVAL - 1); /* FIXME: ugly cpu function which uses 1 second */
 	}
+
 	XCloseDisplay(dpy);
 
 	return 0;