aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Stoeckmann <tobias@stoeckmann.org>2017-03-25 21:16:01 +0100
committerMarkus Teich <teichm@fs.tum.de>2017-03-25 21:51:29 +0100
commit35633d45672d14bd798c478c45d1a17064701aa9 (patch)
treecfd18c8b5ddb6738b59174cf91a9a8421ac48713
parent2d2a21a90ad1b53594b1b90b97486189ec54afce (diff)
downloadslock-35633d45672d14bd798c478c45d1a17064701aa9.tar.gz
slock-35633d45672d14bd798c478c45d1a17064701aa9.tar.xz
Properly clear the last entered character
When enter is pressed, passwd[len] will be set to '\0'. Pressing backspace is supposed to remove the last entered character. But currently, the clearing has an off-by-one, as in setting passwd[len] to '\0' just like enter would do. You can also verify it by imagining len=1 and that it's impossible to clear passwd[0] by pressing backspace with the current code. Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
-rw-r--r--slock.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/slock.c b/slock.c
index d55eb3d..5ae738c 100644
--- a/slock.c
+++ b/slock.c
@@ -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]) &&