shared/libc/printf: Fix stdout destination for putchar and puts.
These functions should output to the same location as printf in this file. Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
ed7a3b11d9
commit
b85611dae8
@ -72,16 +72,14 @@ int vprintf(const char *fmt, va_list ap) {
|
|||||||
// need this because gcc optimises printf("%c", c) -> putchar(c), and printf("a") -> putchar('a')
|
// need this because gcc optimises printf("%c", c) -> putchar(c), and printf("a") -> putchar('a')
|
||||||
int putchar(int c) {
|
int putchar(int c) {
|
||||||
char chr = c;
|
char chr = c;
|
||||||
mp_hal_stdout_tx_strn_cooked(&chr, 1);
|
MICROPY_INTERNAL_PRINTF_PRINTER->print_strn(MICROPY_INTERNAL_PRINTF_PRINTER->data, &chr, 1);
|
||||||
return chr;
|
return chr;
|
||||||
}
|
}
|
||||||
|
|
||||||
// need this because gcc optimises printf("string\n") -> puts("string")
|
// need this because gcc optimises printf("string\n") -> puts("string")
|
||||||
int puts(const char *s) {
|
int puts(const char *s) {
|
||||||
mp_hal_stdout_tx_strn_cooked(s, strlen(s));
|
MICROPY_INTERNAL_PRINTF_PRINTER->print_strn(MICROPY_INTERNAL_PRINTF_PRINTER->data, s, strlen(s));
|
||||||
char chr = '\n';
|
return putchar('\n'); // will return 10, which is >0 per specs of puts
|
||||||
mp_hal_stdout_tx_strn_cooked(&chr, 1);
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef struct _strn_print_env_t {
|
typedef struct _strn_print_env_t {
|
||||||
|
Loading…
Reference in New Issue
Block a user