TCSASOFT
if (opt & TCSASOFT) {
switch (opt & ~TCSASOFT) {
(void)tcsetattr(input, TCSAFLUSH|TCSASOFT, &term);
while (tcsetattr(input, TCSAFLUSH|TCSASOFT, &oterm) == -1 &&
#ifndef TCSASOFT
while (tcsetattr(input, TCSAFLUSH|TCSASOFT, &oterm) == -1 &&
(void)tcsetattr(input, TCSAFLUSH|TCSASOFT, &term);
if (opt & TCSASOFT) {
switch (opt & ~TCSASOFT) {
tcsetattr(STDIN_FILENO, TCSAFLUSH|TCSASOFT, &tios);
tcsetattr(STDIN_FILENO, TCSANOW|TCSASOFT, &tios);
(void)tcsetattr(0, TCSADRAIN|TCSASOFT, &ntty);
(void)tcsetattr(0, TCSADRAIN|TCSASOFT, &tty);
(void)tcsetattr(0, TCSADRAIN|TCSASOFT, &tty);
(void)tcsetattr(0, TCSADRAIN|TCSASOFT, &tty);
(void)tcsetattr(0, TCSADRAIN|TCSASOFT, &tty);