diff options
author | Amadeusz Sławiński <amade@asmblr.net> | 2019-04-17 20:41:22 +0200 |
---|---|---|
committer | Amadeusz Sławiński <amade@asmblr.net> | 2019-04-17 20:58:05 +0200 |
commit | d6e9a6a6936e6e9ccc6079edda2368f90ad933dd (patch) | |
tree | b9921c5debac120a4b9c03e7463952029369d064 | |
parent | 1e5db24077bcc4546b0053d608f6abe5c95fa000 (diff) | |
download | screen-d6e9a6a6936e6e9ccc6079edda2368f90ad933dd.tar.gz |
Clean whole buffer if we don't want to parse it
Fixes problem when pressing arrows in some prompts causes arrows to stop
in other places.
For example pressing up arrow in 'kill --confirm' prompt stops up arrow
from working on 'windowlist'
Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
-rw-r--r-- | src/list_window.c | 2 | ||||
-rw-r--r-- | src/process.c | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/list_window.c b/src/list_window.c index 4dec643..72bcfc0 100644 --- a/src/list_window.c +++ b/src/list_window.c @@ -104,7 +104,7 @@ window_kill_confirm(char *buf, int len, char *data) if (len || (*buf != 'y' && *buf != 'Y')) { - *buf = 0; + memset(buf, 0, len); return; } diff --git a/src/process.c b/src/process.c index dcb3989..5f2a030 100644 --- a/src/process.c +++ b/src/process.c @@ -6268,7 +6268,7 @@ char *data; /* dummy */ debug("pow_detach_fn called\n"); if (len) { - *buf = 0; + memset(buf, 0, len); return; } if (ktab[(int)(unsigned char)*buf].nr != RC_POW_DETACH) @@ -6293,7 +6293,7 @@ char *data; /* dummy */ if (len) { - *buf = 0; + memset(buf, 0, len); return; } if (pp->buf) @@ -6326,7 +6326,7 @@ char *data; /* dummy */ if (len) { - *buf = 0; + memset(buf, 0, len); return; } if (!fore) @@ -6352,7 +6352,7 @@ char *data; /* dummy */ if (len) { - *buf = 0; + memset(buf, 0, len); return; } if (pp->buf) @@ -6373,7 +6373,7 @@ char *data; if (len || (*buf != 'y' && *buf != 'Y')) { - *buf = 0; + memset(buf, 0, len); return; } act.nr = *(int *)data; |