swaywm / swaylock

Screen locker for Wayland
MIT License
853 stars 202 forks source link

Delete whole utf8 character on backspace #232

Closed johanmalm closed 2 years ago

johanmalm commented 2 years ago

...rather than just the last byte of the password buffer.

Demostrate the need for this by taking the following steps:

diff --git a/password.c b/password.c
index e1a1d9a..b640cd3 100644
--- a/password.c
+++ b/password.c
@@ -29,6 +29,7 @@ void clear_password_buffer(struct swaylock_password *pw) {
 static bool backspace(struct swaylock_password *pw) {
    if (pw->len != 0) {
        pw->buffer[--pw->len] = 0;
+       fprintf(stderr, "%s\n", pw->buffer);
        return true;
    }
    return false;