Kernel+LibC: Default to 8-bit characters in TTY
Some ports (like `bc` with history enabled) sensibly set the termios character size to 8 bits. Previously, we left the character size value (given by the bitmask CSIZE) as zero by default (meaning 5 bits per character), and returned ENOTIMPL whenever someone modified it. This was dumb.
This commit is contained in:
parent
0e68550c05
commit
5f6030b13c
Notes:
sideshowbarker
2024-07-18 01:53:04 +09:00
Author: https://github.com/BertalanD Commit: https://github.com/SerenityOS/serenity/commit/5f6030b13cb Pull-request: https://github.com/SerenityOS/serenity/pull/10637
2 changed files with 6 additions and 6 deletions
|
@ -438,12 +438,12 @@ KResult TTY::set_termios(const termios& t)
|
|||
}
|
||||
}
|
||||
|
||||
if ((m_termios.c_cflag & CSIZE) != CS8) {
|
||||
dbgln("FIXME: Character sizes other than 8 bits are not supported");
|
||||
rc = ENOTIMPL;
|
||||
}
|
||||
|
||||
static constexpr FlagDescription unimplemented_cflags[] = {
|
||||
{ CSIZE, "CSIZE" },
|
||||
{ CS5, "CS5" },
|
||||
{ CS6, "CS6" },
|
||||
{ CS7, "CS7" },
|
||||
{ CS8, "CS8" },
|
||||
{ CSTOPB, "CSTOPB" },
|
||||
{ CREAD, "CREAD" },
|
||||
{ PARENB, "PARENB" },
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
#define TTYDEF_LFLAG_NOECHO (ISIG | ICANON)
|
||||
#define TTYDEF_LFLAG_ECHO (TTYDEF_LFLAG_NOECHO | ECHO | ECHOE | ECHOK | ECHONL)
|
||||
#define TTYDEF_LFLAG TTYDEF_LFLAG_ECHO
|
||||
#define TTYDEF_CFLAG (0)
|
||||
#define TTYDEF_CFLAG (CS8)
|
||||
#define TTYDEF_SPEED (B9600)
|
||||
|
||||
#define CTRL(c) (c & 0x1F)
|
||||
|
|
Loading…
Add table
Reference in a new issue