NUMCOLS
};
-#include "config.h"
-
struct lock {
int screen;
Window root, win;
int errbase;
};
+#include "config.h"
+
static void
die(const char *errstr, ...)
{
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. "
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. "
{
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) {
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));
running = !!strcmp(inputhash, hash);
if (running) {
XBell(dpy, 100);
- failure = True;
+ failure = 1;
}
explicit_bzero(&passwd, sizeof(passwd));
len = 0;
break;
case XK_BackSpace:
if (len)
- passwd[len--] = 0;
+ passwd[len--] = '\0';
break;
default:
if (num && !iscntrl((int)buf[0]) &&
rre = (XRRScreenChangeNotifyEvent*)&ev;
for (screen = 0; screen < nscreens; screen++) {
if (locks[screen]->win == rre->window) {
- XResizeWindow(dpy, locks[screen]->win,
- rre->width, rre->height);
+ if (rre->rotation == RR_Rotate_90 ||
+ rre->rotation == RR_Rotate_270)
+ XResizeWindow(dpy, locks[screen]->win,
+ rre->height, rre->width);
+ else
+ XResizeWindow(dpy, locks[screen]->win,
+ rre->width, rre->height);
XClearWindow(dpy, locks[screen]->win);
+ break;
}
}
} else for (screen = 0; screen < nscreens; screen++)