You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by je...@apache.org on 2019/10/17 11:47:10 UTC
[mynewt-core] 02/21: sys/console: Extract common code in console
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 <je...@codecoup.pl>
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);