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);