X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/98f3985d3ee542fe98b8182ed8f4ced632032b31..f901f4cece067787bc705427195f82eef1aa03e0:/slstatus.c diff --git a/slstatus.c b/slstatus.c index 7b85a23..6c25f3f 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 * @@ -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;