X-Git-Url: https://git.xinqibao.xyz/slstatus.git/blobdiff_plain/825141633bad2264c67c38ebcaab63f4c96631d3..b650c438f0dc049d98e339e66eeffd7650774a5d:/slstatus.c diff --git a/slstatus.c b/slstatus.c index d360977..2e57fbb 100644 --- a/slstatus.c +++ b/slstatus.c @@ -33,7 +33,6 @@ struct arg { const char *args; }; -static void setstatus(const char *); static char *smprintf(const char *, ...); static char *battery_perc(const char *); static char *cpu_perc(void); @@ -64,14 +63,6 @@ static Display *dpy; #include "config.h" -static void -setstatus(const char *str) -{ - /* set WM_NAME via X11 */ - XStoreName(dpy, DefaultRootWindow(dpy), str); - XSync(dpy, False); -} - static char * smprintf(const char *fmt, ...) { @@ -262,8 +253,7 @@ entropy(void) static char * gid(void) { - gid_t gid = getgid(); - return smprintf("%d", gid); + return smprintf("%d", getgid()); } static char * @@ -474,40 +464,21 @@ uptime(void) static char * username(void) { - /* FIXME: WHY USE REGISTER MODIFIER? */ - register struct passwd *pw; - register uid_t uid; + uid_t uid = geteuid(); + struct passwd *pw = getpwuid(uid); - uid = geteuid(); - pw = getpwuid(uid); - - if (pw) + if (pw == NULL) return smprintf("%s", pw->pw_name); - else { - fprintf(stderr, "Could not get username: %s\n", - strerror(errno)); - return smprintf(UNKNOWN_STR); - } + fprintf(stderr, "Could not get username: %s\n", + strerror(errno)); return smprintf(UNKNOWN_STR); } static char * uid(void) { - /* FIXME: WHY USE register modifier? */ - register uid_t uid; - - uid = geteuid(); - - if (uid) - return smprintf("%d", uid); - else { - fprintf(stderr, "Could not get uid.\n"); - return smprintf(UNKNOWN_STR); - } - - return smprintf(UNKNOWN_STR); + return smprintf("%d", geteuid()); } @@ -645,10 +616,6 @@ main(void) struct arg argument; dpy = XOpenDisplay(0x0); - if (!dpy) { - fprintf(stderr, "Cannot open display!\n"); - exit(1); - } for (;;) { memset(status_string, 0, sizeof(status_string)); @@ -668,10 +635,16 @@ main(void) free(element); } - setstatus(status_string); + XStoreName(dpy, DefaultRootWindow(dpy), status_string); + XSync(dpy, False); sleep(UPDATE_INTERVAL -1); } + /* NOT REACHED */ + /* + * TODO: find out a way to exit successfully + * to prevent memory leaks + */ XCloseDisplay(dpy); return 0; }