diff --git a/platform/mbed_retarget.cpp b/platform/mbed_retarget.cpp index fd29f17ba71..6c8c54d3d3b 100644 --- a/platform/mbed_retarget.cpp +++ b/platform/mbed_retarget.cpp @@ -1347,34 +1347,16 @@ void mbed_set_unbuffered_stream(std::FILE *_file) int mbed_getc(std::FILE *_file) { -#if defined(__IAR_SYSTEMS_ICC__ ) && (__VER__ < 8000000) - /*This is only valid for unbuffered streams*/ int res = std::fgetc(_file); - if (res >= 0) { - _file->_Mode = (unsigned short)(_file->_Mode & ~ 0x1000);/* Unset read mode */ - _file->_Rend = _file->_Wend; - _file->_Next = _file->_Wend; - } + std::fseek( _file, 0, SEEK_CUR ); return res; -#else - return std::fgetc(_file); -#endif } char *mbed_gets(char *s, int size, std::FILE *_file) { -#if defined(__IAR_SYSTEMS_ICC__ ) && (__VER__ < 8000000) - /*This is only valid for unbuffered streams*/ - char *str = fgets(s, size, _file); - if (str != NULL) { - _file->_Mode = (unsigned short)(_file->_Mode & ~ 0x1000);/* Unset read mode */ - _file->_Rend = _file->_Wend; - _file->_Next = _file->_Wend; - } - return str; -#else - return std::fgets(s, size, _file); -#endif + int res = std::fgets(s, size, _file); + std::fseek( _file, 0, SEEK_CUR ); + return res; } } // namespace mbed