X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=slock.c;h=4d7f06fe9a8fc4dc3b6904fc8231c065614a17d8;hb=c96e725df0c449abb5f1f6a3b604f64fa69c4756;hp=2a3027e5eeada19c451d7becf99c86195f298129;hpb=0a43b78d00ebac574376ffd93223a751e21e265e;p=slock.git diff --git a/slock.c b/slock.c index 2a3027e..4d7f06f 100644 --- a/slock.c +++ b/slock.c @@ -100,7 +100,7 @@ gethash(void) hash = pw->pw_passwd; #if HAVE_SHADOW_H - if (hash[0] == 'x' && hash[1] == '\0') { + if (!strcmp(hash, "x")) { struct spwd *sp; if (!(sp = getspnam(pw->pw_name))) die("slock: getspnam: cannot retrieve shadow entry. " @@ -108,7 +108,7 @@ gethash(void) hash = sp->sp_pwdp; } #else - if (hash[0] == '*' && hash[1] == '\0') { + if (!strcmp(hash, "*")) { #ifdef __OpenBSD__ if (!(pw = getpwuid_shadow(getuid()))) die("slock: getpwnam_shadow: cannot retrieve shadow entry. " @@ -130,15 +130,15 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, { XRRScreenChangeNotifyEvent *rre; char buf[32], passwd[256], *inputhash; - int num, screen, running, failure; + int num, screen, running, failure, oldc; unsigned int len, color; KeySym ksym; XEvent ev; - static int oldc = INIT; len = 0; running = 1; failure = 0; + oldc = INIT; while (running && !XNextEvent(dpy, &ev)) { if (ev.type == KeyPress) { @@ -158,7 +158,7 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, continue; switch (ksym) { case XK_Return: - passwd[len] = 0; + passwd[len] = '\0'; errno = 0; if (!(inputhash = crypt(passwd, hash))) fprintf(stderr, "slock: crypt: %s\n", strerror(errno)); @@ -177,7 +177,7 @@ readpw(Display *dpy, struct xrandr *rr, struct lock **locks, int nscreens, break; case XK_BackSpace: if (len) - passwd[len--] = 0; + passwd[len--] = '\0'; break; default: if (num && !iscntrl((int)buf[0]) &&