1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| int ft_term(t_save *save)
{
char *name_term;
struct termios term;
if ((name_term = getenv("TERM")) == NULL)
ft_putendl("error getenv");
if (tgetent(NULL, name_term) == -1)
return (-1);
if (tcgetattr(0, &term) == -1)
ft_putendl("error tcgetattr");
term.c_lflag &= ~(ICANON);
term.c_lflag &= ~(ECHO);
term.c_cc[VMIN] = 1;
term.c_cc[VTIME] = 0;
if (tcsetattr(0, TCSANOW, &term) == -1)
perror("");
ft_puts_goto(name_term, save);
if (tcgetattr(0, &term) == -1)
return (-1);
term.c_lflag = (ICANON | ECHO);
if (tcsetattr(0, TCSANOW, &term) == -1)
return (-1);
return (0);
} |
Partager