From f7cac88eb987cc97121429454386fc408a8d7fc3 Mon Sep 17 00:00:00 2001 From: Stefan Diewald Date: Tue, 18 Feb 2020 12:36:06 +0100 Subject: [PATCH 1/2] Full console: suppress new line when echo is disabled When echo is switched off via console_echo(0), also new line should be suppressed. Signed-off-by: Stefan Diewald --- sys/console/full/include/console/console.h | 6 ++++++ sys/console/full/src/console.c | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/sys/console/full/include/console/console.h b/sys/console/full/include/console/console.h index b4ff296c93..2d7fc47fdd 100644 --- a/sys/console/full/include/console/console.h +++ b/sys/console/full/include/console/console.h @@ -61,6 +61,12 @@ int console_read(char *str, int cnt, int *newline); #endif void console_blocking_mode(void); void console_non_blocking_mode(void); +/** + * Switch console echo state for input data on (on != 0) or off ( on= 0) + * + * @param on Let console know if it should echo the input (!= 0), + * or disable the echo (= 0). + */ void console_echo(int on); int console_vprintf(const char *fmt, va_list ap); diff --git a/sys/console/full/src/console.c b/sys/console/full/src/console.c index e2a6e22419..2bdb752cfa 100644 --- a/sys/console/full/src/console.c +++ b/sys/console/full/src/console.c @@ -981,7 +981,7 @@ handle_nlip(uint8_t byte) insert_char(&input->line[cur], byte); if (byte == '\n') { input->line[cur] = '\0'; - console_echo(1); + console_echo(echo); nlip_state = 0; console_handle_line(); @@ -1160,8 +1160,11 @@ console_handle_char(uint8_t byte) console_switch_to_prompt(); console_clear_line(); } else { - console_filter_out('\r'); - console_filter_out('\n'); + if (echo) + { + console_filter_out('\r'); + console_filter_out('\n'); + } } if (!MYNEWT_VAL_CHOICE(CONSOLE_HISTORY, none)) { console_history_add(input->line); From 2d5167ffd1d053b48e91b3946869a4c1212fda60 Mon Sep 17 00:00:00 2001 From: Stefan Diewald Date: Tue, 18 Feb 2020 16:06:34 +0100 Subject: [PATCH 2/2] Adaptions to match style guide Adaptions to match style guide Signed-off-by: Stefan Diewald --- sys/console/full/include/console/console.h | 2 +- sys/console/full/src/console.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/console/full/include/console/console.h b/sys/console/full/include/console/console.h index 2d7fc47fdd..b8d09612af 100644 --- a/sys/console/full/include/console/console.h +++ b/sys/console/full/include/console/console.h @@ -62,7 +62,7 @@ int console_read(char *str, int cnt, int *newline); void console_blocking_mode(void); void console_non_blocking_mode(void); /** - * Switch console echo state for input data on (on != 0) or off ( on= 0) + * Switch console echo state for input data on or off * * @param on Let console know if it should echo the input (!= 0), * or disable the echo (= 0). diff --git a/sys/console/full/src/console.c b/sys/console/full/src/console.c index 2bdb752cfa..11ccb552c1 100644 --- a/sys/console/full/src/console.c +++ b/sys/console/full/src/console.c @@ -1160,8 +1160,7 @@ console_handle_char(uint8_t byte) console_switch_to_prompt(); console_clear_line(); } else { - if (echo) - { + if (echo) { console_filter_out('\r'); console_filter_out('\n'); }