mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-01-23 17:52:26 -05:00
06c835f857
I introduced a regression in #7184 where `TTY` would report 1 byte read in canonical mode even if we had no more characters left. This was caused by counting the '\0' that denotes EOF into the number of characters that were read. The fix was simple: exclude the EOF character from the number of bytes. This still wouldn't be correct by itself, as the EOF and EOL control characters could change between when the data was written to the TTY and when it is read. We fix this by signaling out-of-band whether something is a special character. End-of-file markers have a value of zero and have their special bits set. Any other bytes with a special flag are treated as line endings. This is possible, as POSIX doesn't allow special characters to be 0. Fixes #7419 |
||
---|---|---|
.. | ||
ConsoleManagement.cpp | ||
ConsoleManagement.h | ||
MasterPTY.cpp | ||
MasterPTY.h | ||
PTYMultiplexer.cpp | ||
PTYMultiplexer.h | ||
SlavePTY.cpp | ||
SlavePTY.h | ||
TTY.cpp | ||
TTY.h | ||
VirtualConsole.cpp | ||
VirtualConsole.h |