From 240758db42aaa42b2abd50daea5033c3cc7e80dc Mon Sep 17 00:00:00 2001 From: Hugues Kamba Date: Wed, 27 Nov 2019 12:17:03 +0000 Subject: [PATCH] Minimal Console: Fix compilation error Build successfully when `platform.stdio-convert-tty-newlines` or `platform.stdio-convert-newlines` are set to `true` by ensuring `isatty()` is also included when `platform.stdio-minimal-console-only` is set to `true`. --- platform/mbed_retarget.h | 2 +- platform/source/mbed_retarget.cpp | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/platform/mbed_retarget.h b/platform/mbed_retarget.h index e03afc9d7f..56c2d8b351 100644 --- a/platform/mbed_retarget.h +++ b/platform/mbed_retarget.h @@ -573,10 +573,10 @@ extern "C" { ssize_t write(int fildes, const void *buf, size_t nbyte); ssize_t read(int fildes, void *buf, size_t nbyte); int fsync(int fildes); + int isatty(int fildes); #if !MBED_CONF_PLATFORM_STDIO_MINIMAL_CONSOLE_ONLY off_t lseek(int fildes, off_t offset, int whence); int ftruncate(int fildes, off_t length); - int isatty(int fildes); int fstat(int fildes, struct stat *st); int fcntl(int fildes, int cmd, ...); int poll(struct pollfd fds[], nfds_t nfds, int timeout); diff --git a/platform/source/mbed_retarget.cpp b/platform/source/mbed_retarget.cpp index 10b7f55892..7d7504e797 100644 --- a/platform/source/mbed_retarget.cpp +++ b/platform/source/mbed_retarget.cpp @@ -915,17 +915,13 @@ extern "C" int PREFIX(_istty)(FILEHANDLE fh) extern "C" int _isatty(FILEHANDLE fh) #endif { -#if !MBED_CONF_PLATFORM_STDIO_MINIMAL_CONSOLE_ONLY return isatty(fh); -#else - // Is attached to an interactive device - return 1; -#endif // !MBED_CONF_PLATFORM_STDIO_MINIMAL_CONSOLE_ONLY } -#if !MBED_CONF_PLATFORM_STDIO_MINIMAL_CONSOLE_ONLY + extern "C" int isatty(int fildes) { +#if !MBED_CONF_PLATFORM_STDIO_MINIMAL_CONSOLE_ONLY FileHandle *fhc = mbed_file_handle(fildes); if (fhc == NULL) { errno = EBADF; @@ -939,8 +935,11 @@ extern "C" int isatty(int fildes) } else { return tty; } -} +#else + // Is attached to an interactive device + return 1; #endif // !MBED_CONF_PLATFORM_STDIO_MINIMAL_CONSOLE_ONLY +} extern "C" #if defined(__ARMCC_VERSION)