When the buffer is increased to morer than 4 bytes the INTERNAL interrupt is automatically enabled. The service-routine will now retrieve any characters and store them in the buffer. So there will never be a statusbit indicating a character to be ready to be seen.
There are two choices:
1st. Write your own interrupt driven buffer-handling (circular buffer) which is a pretty good exercise for learning (smile)
2nd. Poll the buffer for characters stored and retrieve them. There is an API named UART_GetRxBufferSize() which does not return the allocated size of the buffer as one would suggest, but returns the number of characters stored so far. With UART_GetByte() you may retrieve the characters.
Thanks- does this mean that the error detection on a byte by byte basis is lost? Obviously you would expect there to be no OE/FE as these would be covered by the rxBufferLoopDetect and rxBufferOverflow variables, but what about PE?
Within the interrupt handler of the UART is a stub where you may insert your own error-handling, have a look into the file
UART_Int.c near line 75