diff options
| author | Damien George | 2015-10-20 13:27:14 +0100 |
|---|---|---|
| committer | Damien George | 2015-10-20 13:27:14 +0100 |
| commit | f961456b29a6ca2bd386a672d2ea2782c925c72f (patch) | |
| tree | 1d40359b5e7e527576e8baf1a57387e3cd3a0785 | |
| parent | 22521ea9e2a83dbcbd6da16d6a76b01aa3bf039a (diff) | |
lib/mp-readline: Add n_chars argument to mp_hal_erase_line_from_cursor.
If VT100 support is not available then a given implementation of
mp_hal_erase_line_from_cursor might need to know the number of characters
to erase.
This patch does not change generated code when VT100 is supported, since
compiler can optimise away the argument.
| -rw-r--r-- | lib/mp-readline/readline.c | 6 | ||||
| -rw-r--r-- | windows/windows_mphal.c | 2 | ||||
| -rw-r--r-- | windows/windows_mphal.h | 2 |
3 files changed, 5 insertions, 5 deletions
diff --git a/lib/mp-readline/readline.c b/lib/mp-readline/readline.c index 31b60e268..28383b9a3 100644 --- a/lib/mp-readline/readline.c +++ b/lib/mp-readline/readline.c @@ -82,7 +82,8 @@ STATIC void mp_hal_move_cursor_back(uint pos) { } } -STATIC void mp_hal_erase_line_from_cursor(void) { +STATIC void mp_hal_erase_line_from_cursor(uint n_chars_to_erase) { + (void)n_chars_to_erase; mp_hal_stdout_tx_strn("\x1b[K", 3); } #endif @@ -338,8 +339,7 @@ delete_key: if (redraw_from_cursor) { if (rl.line->len < last_line_len) { // erase old chars - // (number of chars to erase: last_line_len - rl.cursor_pos) - mp_hal_erase_line_from_cursor(); + mp_hal_erase_line_from_cursor(last_line_len - rl.cursor_pos); } // draw new chars mp_hal_stdout_tx_strn(rl.line->buf + rl.cursor_pos, rl.line->len - rl.cursor_pos); diff --git a/windows/windows_mphal.c b/windows/windows_mphal.c index f2f8cd952..db03571ba 100644 --- a/windows/windows_mphal.c +++ b/windows/windows_mphal.c @@ -92,7 +92,7 @@ void mp_hal_move_cursor_back(uint pos) { SetConsoleCursorPosition(con_out, info.dwCursorPosition); } -void mp_hal_erase_line_from_cursor() { +void mp_hal_erase_line_from_cursor(uint n_chars_to_erase) { assure_conout_handle(); CONSOLE_SCREEN_BUFFER_INFO info; GetConsoleScreenBufferInfo(con_out, &info); diff --git a/windows/windows_mphal.h b/windows/windows_mphal.h index b9ed67e71..8173d93ec 100644 --- a/windows/windows_mphal.h +++ b/windows/windows_mphal.h @@ -29,4 +29,4 @@ #define MICROPY_HAL_HAS_VT100 (0) void mp_hal_move_cursor_back(unsigned int pos); -void mp_hal_erase_line_from_cursor(); +void mp_hal_erase_line_from_cursor(unsigned int n_chars_to_erase); |
