This is an automated email from the ASF dual-hosted git repository. jerzy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-core.git
commit 81bb40560ef0bae143af5416b9bbdccdad882243 Author: Jerzy Kasenberg <[email protected]> AuthorDate: Fri Oct 4 10:12:19 2019 +0200 sys/console: Extract common code in console 3 console implementations had similar code for silencing console and detecting start of lines. Now code is moved and functionality is the same. --- sys/console/full/src/ble_monitor_console.c | 6 ------ sys/console/full/src/console.c | 21 +++++++++++++++++---- sys/console/full/src/rtt_console.c | 7 ------- sys/console/full/src/uart_console.c | 7 ------- 4 files changed, 17 insertions(+), 24 deletions(-) diff --git a/sys/console/full/src/ble_monitor_console.c b/sys/console/full/src/ble_monitor_console.c index 5b90a58..f9683b6 100644 --- a/sys/console/full/src/ble_monitor_console.c +++ b/sys/console/full/src/ble_monitor_console.c @@ -27,12 +27,6 @@ int console_out_nolock(int c) { - if (g_console_silence) { - return c; - } - - console_is_midline = (c != '\n'); - return ble_monitor_out(c); } diff --git a/sys/console/full/src/console.c b/sys/console/full/src/console.c index 49a5dcf..3ee940f 100644 --- a/sys/console/full/src/console.c +++ b/sys/console/full/src/console.c @@ -143,6 +143,18 @@ end: return rc; } +static int +console_filter_out(int c) +{ + if (g_console_silence) { + return c; + } + + console_is_midline = (c != '\n') && (c != '\r'); + + return console_out_nolock(c); +} + int console_out(int c) { @@ -153,7 +165,8 @@ console_out(int c) if (console_lock(timeout) != OS_OK) { return c; } - rc = console_out_nolock(c); + + rc = console_filter_out(c); (void)console_unlock(); @@ -186,13 +199,13 @@ console_write(const char *str, int cnt) /* If the byte string is non nlip and we are silencing non nlip bytes, * do not let it go out on the console - */ + */ if (!g_is_output_nlip && g_console_silence_non_nlip) { goto done; } for (i = 0; i < cnt; i++) { - if (console_out_nolock((int)str[i]) == EOF) { + if (console_filter_out((int)str[i]) == EOF) { break; } } @@ -816,7 +829,7 @@ console_handle_char(uint8_t byte) prev_endl = byte; break; } - + prev_endl = byte; input->line[cur + end] = '\0'; console_out('\r'); diff --git a/sys/console/full/src/rtt_console.c b/sys/console/full/src/rtt_console.c index 0b25157..45bad85 100644 --- a/sys/console/full/src/rtt_console.c +++ b/sys/console/full/src/rtt_console.c @@ -106,15 +106,8 @@ console_out_nolock(int character) { char c = (char)character; - if (g_console_silence) { - return c; - } - if ('\n' == c) { rtt_console_write_ch('\r'); - console_is_midline = 0; - } else { - console_is_midline = 1; } rtt_console_write_ch(c); diff --git a/sys/console/full/src/uart_console.c b/sys/console/full/src/uart_console.c index 05e7896..874c97e 100644 --- a/sys/console/full/src/uart_console.c +++ b/sys/console/full/src/uart_console.c @@ -156,10 +156,6 @@ uart_console_non_blocking_mode(void) int console_out_nolock(int c) { - if (g_console_silence) { - return c; - } - /* Assure that there is a write cb installed; this enables to debug * code that is faulting before the console was initialized. */ @@ -169,9 +165,6 @@ console_out_nolock(int c) if ('\n' == c) { write_char_cb(uart_dev, '\r'); - console_is_midline = 0; - } else { - console_is_midline = 1; } write_char_cb(uart_dev, c); uart_start_tx(uart_dev);
