aboutsummaryrefslogtreecommitdiff
path: root/ui_input.c
diff options
context:
space:
mode:
Diffstat (limited to 'ui_input.c')
-rw-r--r--ui_input.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/ui_input.c b/ui_input.c
index 28660cf..13a33b0 100644
--- a/ui_input.c
+++ b/ui_input.c
@@ -104,16 +104,25 @@ add_input(WINDOW *win, struct input *a, int key)
int
del_input(WINDOW *win, struct input *a)
{
+ if (a == NULL) return (UICB_ERR_UNDEF);
+ memmove((a->input + a->input_pos - 1), (a->input + a->input_pos), a->input_max - a->input_pos);
+ --a->input_len;
+ if (a->input_pos == a->input_len) {
+ --a->input_pos;
+ }
+ print_input(win, a);
+ mvwprintw(win, 10, 1, "w:%d,cp:%d,im:%lu,il:%lu,ip:%lu,s:%s", a->width, a->cur_pos, a->input_max, a->input_len, a->input_pos, a->input);
+
return (UICB_OK);
}
int
-input_cb(WINDOW *win, void *data, bool needs_update, bool timed_out)
+input_cb(WINDOW *win, void *data, bool timed_out)
{
struct input *a = (struct input *) data;
if (a == NULL) return (UICB_ERR_UNDEF);
- if (needs_update || timed_out) {
+ if (timed_out == true) {
print_input(win, a);
}
return (UICB_OK);