diff --git a/LUFA/Drivers/Peripheral/SerialStream.c b/LUFA/Drivers/Peripheral/SerialStream.c index fd5676aab1b99e17bafd0b5f73bf8c07406e6d02..4ae0a7f161ee255429e645d8115bbe6c8023b530 100644 --- a/LUFA/Drivers/Peripheral/SerialStream.c +++ b/LUFA/Drivers/Peripheral/SerialStream.c @@ -44,6 +44,9 @@ static int SerialStream_TxByte(char DataByte, FILE *Stream) static int SerialStream_RxByte(FILE *Stream) { (void)Stream; + + if (!(Serial_IsCharReceived())) + return EOF; return Serial_RxByte(); } diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt index 521ab38f958c0d7b41fc96ca8f31807862b6d00d..5fd1b2ba49d92fe018600a039f5b0023e808602e 100644 --- a/LUFA/ManPages/ChangeLog.txt +++ b/LUFA/ManPages/ChangeLog.txt @@ -53,6 +53,7 @@ * - Fixed Pipe_IsEndpointBound() not taking the endpoint's direction into account * - Fixed EEPROM and FLASH ISP programming in the AVRISP project * - Fixed incorrect values of USB_CONFIG_ATTR_SELFPOWERED and USB_CONFIG_ATTR_REMOTEWAKEUP tokens (thanks to Claus Christensen) + * - Fixed SerialStream driver blocking while waiting for characters to be received instead of returning EOF * * \section Sec_ChangeLog091223 Version 091223 *