From 15c27ce9f0a86635ec336c89fcb11c1d02e46613 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 24 Feb 2025 13:30:36 +0100 Subject: [PATCH] ucode-mod-uline: fix prompt after set_hint with string bigger than the window size Redraw the prompt after the hint instead of trying to move backwards Signed-off-by: Felix Fietkau --- package/utils/ucode-mod-uline/src/uline.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/package/utils/ucode-mod-uline/src/uline.c b/package/utils/ucode-mod-uline/src/uline.c index 4bee2597c3..26cea6fa24 100644 --- a/package/utils/ucode-mod-uline/src/uline.c +++ b/package/utils/ucode-mod-uline/src/uline.c @@ -880,7 +880,14 @@ void uline_set_hint(struct uline_state *s, const char *str, size_t len) pos_add_string(s, &s->cursor_pos, str, len); } - set_cursor(s, prev_pos); + if (s->cursor_pos.y >= s->rows) { + if (s->cursor_pos.x > 0) + vt100_next_line(s->output); + s->cursor_pos = (struct pos){}; + s->full_update = true; + } else { + set_cursor(s, prev_pos); + } fflush(s->output); } -- 2.30.2