From: FRIGN Date: Tue, 3 Jun 2014 17:19:10 +0000 (+0200) Subject: Add /etc/passwd support X-Git-Url: https://git.danieliu.xyz/?a=commitdiff_plain;h=9db14b10dd09336c6a8fe283f99108c9acc4667a;p=slock.git Add /etc/passwd support Fix slock to work with /etc/passwd without /etc/shadow. while we're at it, remove an occurence of trailing whitespace. --- diff --git a/slock.c b/slock.c index 506231e..aedee2e 100644 --- a/slock.c +++ b/slock.c @@ -75,7 +75,7 @@ getpw(void) { /* only run as root */ rval = pw->pw_passwd; #if HAVE_SHADOW_H - if (strlen(rval) >= 1) { /* kludge, assumes pw placeholder entry has len >= 1 */ + if (rval[0] == 'x' && rval[1] == '\0') { struct spwd *sp; sp = getspnam(getenv("USER")); if(!sp) @@ -147,7 +147,7 @@ readpw(Display *dpy, const char *pws) --len; break; default: - if(num && !iscntrl((int) buf[0]) && (len + num < sizeof passwd)) { + if(num && !iscntrl((int) buf[0]) && (len + num < sizeof passwd)) { memcpy(passwd + len, buf, num); len += num; }