help with serial.read

Frédéric_Plante:
I never really got the point of Serial.flush() since it's not really flushing anything.

Well yes it does the definition is:-

Waits for the transmission of outgoing serial data to complete.

So it blocks until the serial output buffer is flushed by the natural process.
This is useful when implementing half duplex communications on the serial port.

Unfortunately beginners seem to think it will wipe out any unread data in the serial input buffer.