- reset_start(stdout, is_reset, is_init);
- if (send_init_strings((TTY *) 0)) {
+ TTY oldmode;
+
+ int terasechar = -1; /* new erase character */
+ int intrchar = -1; /* new interrupt character */
+ int tkillchar = -1; /* new kill character */
+
+ if (is_reset) {
+ reset_start(stdout, TRUE, FALSE);
+ reset_tty_settings(fd, saved_settings);
+ } else {
+ reset_start(stdout, FALSE, TRUE);
+ }
+
+#if HAVE_SIZECHANGE
+ set_window_size(fd, &lines, &columns);
+#else
+ (void) fd;
+#endif
+ set_control_chars(saved_settings, terasechar, intrchar, tkillchar);
+ set_conversions(saved_settings);
+ if (send_init_strings(fd, &oldmode)) {