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

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

See merge request idf/esp-idf!5300
This commit is contained in:
Angus Gratton 2019-06-27 08:33:26 +08:00
commit 42426a986c
3 changed files with 6 additions and 4 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

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