X-Git-Url: http://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=progs%2Ftput.c;h=8ff3be1ba57346943770dbec9de7df5a63b9aa38;hp=f90e76cdb667b7eeb5b5b3c91fc9fd4269776388;hb=7af63696972b12659832a1c3413d9ace9641c8f6;hpb=96592d717179f99c8fe1c5a63fc4a26c24867288 diff --git a/progs/tput.c b/progs/tput.c index f90e76cd..8ff3be1b 100644 --- a/progs/tput.c +++ b/progs/tput.c @@ -48,7 +48,7 @@ #endif #include -MODULE_ID("$Id: tput.c,v 1.56 2016/08/06 20:59:26 tom Exp $") +MODULE_ID("$Id: tput.c,v 1.57 2016/08/20 21:46:31 tom Exp $") #define PUTS(s) fputs(s, stdout) @@ -118,10 +118,24 @@ tput_cmd(int argc, char *argv[]) name = ""; check_aliases(name, FALSE); if (is_reset || is_init) { + TTY mode, oldmode; + + int terasechar = -1; /* new erase character */ + int intrchar = -1; /* new interrupt character */ + int tkillchar = -1; /* new kill character */ + + (void) save_tty_settings(&mode); + reset_start(stdout, is_reset, is_init); - if (send_init_strings((TTY *) 0)) { + reset_tty_settings(&mode); + + set_control_chars(&mode, terasechar, intrchar, tkillchar); + set_conversions(&mode); + if (send_init_strings(&oldmode)) { reset_flush(); } + + update_tty_settings(&oldmode, &mode); return 0; }