summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmadeusz Sławiński <amade@asmblr.net>2019-04-17 20:41:22 +0200
committerAmadeusz Sławiński <amade@asmblr.net>2019-04-17 20:58:05 +0200
commitd6e9a6a6936e6e9ccc6079edda2368f90ad933dd (patch)
treeb9921c5debac120a4b9c03e7463952029369d064
parent1e5db24077bcc4546b0053d608f6abe5c95fa000 (diff)
downloadscreen-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.c2
-rw-r--r--src/process.c10
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;