Merge branch 'bugfix/console_allow_buffered_v3.2' into 'release/v3.2'

console example: use buffered stdout by default (backport v3.2)

See merge request idf/esp-idf!4507
This commit is contained in:
Jiang Jiang Jian 2019-03-15 14:03:29 +08:00
commit b6687e56ed
6 changed files with 9 additions and 10 deletions

View file

@ -106,6 +106,7 @@
#include <unistd.h> #include <unistd.h>
#include <stdlib.h> #include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include <stdio_ext.h>
#include <errno.h> #include <errno.h>
#include <string.h> #include <string.h>
#include <stdlib.h> #include <stdlib.h>
@ -879,6 +880,9 @@ static int linenoiseEdit(char *buf, size_t buflen, const char *prompt)
linenoiseEditDeletePrevWord(&l); linenoiseEditDeletePrevWord(&l);
break; break;
} }
if (__fbufsize(stdout) > 0) {
fflush(stdout);
}
} }
return l.len; return l.len;
} }

View file

@ -56,9 +56,8 @@ static void initialize_nvs()
static void initialize_console() static void initialize_console()
{ {
/* Disable buffering on stdin and stdout */ /* Disable buffering on stdin */
setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdin, NULL, _IONBF, 0);
setvbuf(stdout, NULL, _IONBF, 0);
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */ /* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR); esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);

View file

@ -56,9 +56,8 @@ static void initialize_nvs()
static void initialize_console() static void initialize_console()
{ {
/* Disable buffering on stdin and stdout */ /* Disable buffering on stdin */
setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdin, NULL, _IONBF, 0);
setvbuf(stdout, NULL, _IONBF, 0);
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */ /* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR); esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);

View file

@ -59,9 +59,8 @@ static void initialize_nvs()
static void initialize_console() static void initialize_console()
{ {
/* Disable buffering on stdin and stdout */ /* Disable buffering on stdin */
setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdin, NULL, _IONBF, 0);
setvbuf(stdout, NULL, _IONBF, 0);
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */ /* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR); esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);

View file

@ -28,9 +28,8 @@
static void initialize_console() static void initialize_console()
{ {
/* Disable buffering on stdin and stdout */ /* Disable buffering on stdin */
setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdin, NULL, _IONBF, 0);
setvbuf(stdout, NULL, _IONBF, 0);
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */ /* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR); esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);

View file

@ -75,9 +75,8 @@ static void initialize_wifi()
/* Initialize console component */ /* Initialize console component */
static void initialize_console() static void initialize_console()
{ {
/* Disable buffering on stdin and stdout */ /* Disable buffering on stdin */
setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdin, NULL, _IONBF, 0);
setvbuf(stdout, NULL, _IONBF, 0);
/* Minicom, screen, idf_monitor send CR when ENTER key is pressed */ /* Minicom, screen, idf_monitor send CR when ENTER key is pressed */
esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR); esp_vfs_dev_uart_set_rx_line_endings(ESP_LINE_ENDINGS_CR);