egray@fthood.UUCP (10/03/88)
Oh well, they say all programs evolve... This is patch #4 to Pcomm v1.1. Several people had complained that some fields in the setup menu didn't appear on the screen correctly. As it turned out, the culprit was the use of the "Enter" key (in lieu of the "Return" key) on terminals that send a newline on "Enter". This patch will change the get_str() function to not allow a newline. Also, there had been some discussion on whether or not the hangup function should drop the DTR... the DTR camp won. Emmet P. Gray US Army, HQ III Corps & Fort Hood ...!uunet!uiucuxc!fthood!egray Attn: AFZF-DE-ENV Directorate of Engineering & Housing Environmental Management Office Fort Hood, TX 76544-5057 ----------------------------------------------------------------------------- *** old/chg_dir.c Thu Sep 29 12:43:28 1988 --- chg_dir.c Thu Sep 29 12:44:12 1988 *************** *** 29,33 wrefresh(ch_win); /* get the answer */ ! while ((ans = get_str(ch_win, 60, "", " ")) != NULL) { /* a CR means no change */ if (*ans == NULL) --- 29,33 ----- wrefresh(ch_win); /* get the answer */ ! while ((ans = get_str(ch_win, 60, "", " \t\n")) != NULL) { /* a CR means no change */ if (*ans == NULL) *** old/d_manual.c Thu Sep 29 12:43:29 1988 --- d_manual.c Thu Sep 29 12:44:35 1988 *************** *** 26,30 wrefresh(m_win); /* get a phone number */ ! if ((number = get_str(m_win, 30, "", "")) == NULL) { werase(m_win); wrefresh(m_win); --- 26,30 ----- wrefresh(m_win); /* get a phone number */ ! if ((number = get_str(m_win, 30, "", "\n")) == NULL) { werase(m_win); wrefresh(m_win); *** old/d_print.c Thu Sep 29 12:43:29 1988 --- d_print.c Thu Sep 29 12:45:29 1988 *************** *** 149,152 continue; } /* an <ESC> anywhere in the string */ if (ans == ESC) --- 149,157 ----- continue; } + /* illegal character? */ + if (ans == '\n') { + beep(); + continue; + } /* an <ESC> anywhere in the string */ if (ans == ESC) *** old/d_prompt.c Thu Sep 29 12:43:29 1988 --- d_prompt.c Thu Sep 29 12:46:03 1988 *************** *** 44,48 wrefresh(win); ! if ((ans = get_str(win, 20, "", ";")) == NULL) return(0); if (*ans != NULL) { --- 44,48 ----- wrefresh(win); ! if ((ans = get_str(win, 20, "", ";\n")) == NULL) return(0); if (*ans != NULL) { *************** *** 57,61 wrefresh(win); ! if ((ans = get_str(win, 18, "", ";")) == NULL) return(0); if (*ans != NULL) { --- 57,61 ----- wrefresh(win); ! if ((ans = get_str(win, 18, "", ";\n")) == NULL) return(0); if (*ans != NULL) { *************** *** 207,211 wrefresh(win); ! if ((ans = get_str(win, 14, "", ";")) == NULL) return(0); if (*ans != NULL) { --- 207,211 ----- wrefresh(win); ! if ((ans = get_str(win, 14, "", ";\n")) == NULL) return(0); if (*ans != NULL) { *** old/d_revise.c Thu Sep 29 12:43:29 1988 --- d_revise.c Thu Sep 29 12:46:24 1988 *************** *** 180,184 wrefresh(win); ! if ((ans = get_str(win, 20, "", "")) == NULL) return(NULL); /* if space, change to NULL pointer */ --- 180,184 ----- wrefresh(win); ! if ((ans = get_str(win, 20, "", "\n")) == NULL) return(NULL); /* if space, change to NULL pointer */ *** old/data_log.c Thu Sep 29 12:43:29 1988 --- data_log.c Thu Sep 29 12:46:42 1988 *************** *** 34,38 ret_code = 0; path = null_ptr; ! while ((ans = get_str(dl_win, 60, "", " ")) != NULL) { /* give 'em the default */ if (*ans == NULL) --- 34,38 ----- ret_code = 0; path = null_ptr; ! while ((ans = get_str(dl_win, 60, "", " \t\n")) != NULL) { /* give 'em the default */ if (*ans == NULL) *** old/info.c Thu Sep 29 12:43:31 1988 --- info.c Thu Sep 29 12:50:09 1988 *************** *** 5,9 #define VERSION "1.1" ! #define DATE "19 Sep 88" #include <stdio.h> --- 5,9 ----- #define VERSION "1.1" ! #define DATE "30 Sep 88" #include <stdio.h> *** old/list_dir.c Thu Sep 29 12:43:31 1988 --- list_dir.c Thu Sep 29 12:46:54 1988 *************** *** 29,33 wrefresh(ls_win); ! if ((ans = get_str(ls_win, 60, "", "")) == NULL) { if (fd == -1) { werase(ls_win); --- 29,33 ----- wrefresh(ls_win); ! if ((ans = get_str(ls_win, 60, "", "\n")) == NULL) { if (fd == -1) { werase(ls_win); *** old/macro.c Thu Sep 29 12:43:32 1988 --- macro.c Thu Sep 29 12:47:11 1988 *************** *** 179,183 wrefresh(mp_win); ! new = get_str(mp_win, 50, "", ""); /* if space, change to NULL pointer */ if (!strcmp(new, " ")) --- 179,183 ----- wrefresh(mp_win); ! new = get_str(mp_win, 50, "", "\n"); /* if space, change to NULL pointer */ if (!strcmp(new, " ")) *** old/main.c Thu Sep 29 12:43:32 1988 --- main.c Thu Sep 29 12:49:57 1988 *************** *** 20,23 * patch #2 15 Sep 88 * patch #3 19 Sep 88 */ --- 20,24 ----- * patch #2 15 Sep 88 * patch #3 19 Sep 88 + * patch #4 30 Sep 88 */ *** old/s_prompt.c Thu Sep 29 12:43:34 1988 --- s_prompt.c Thu Sep 29 12:48:00 1988 *************** *** 28,32 wrefresh(win); ! if ((ans = get_str(win, 39, "", "")) == NULL) return(NULL); /* check the value */ --- 28,32 ----- wrefresh(win); ! if ((ans = get_str(win, 39, "", "\n")) == NULL) return(NULL); /* check the value */ *************** *** 57,61 wrefresh(win); ! if ((ans = get_str(win, 1, "", "")) == NULL) return(NULL); /* display the value in bold */ --- 57,61 ----- wrefresh(win); ! if ((ans = get_str(win, 1, "", "\n")) == NULL) return(NULL); /* display the value in bold */ *** old/x_batch.c Thu Sep 29 12:43:36 1988 --- x_batch.c Thu Sep 29 12:49:28 1988 *************** *** 336,340 name = temp; ! ext = NULL; dot = 0; for (s=name; *s; ++s) { --- 336,340 ----- name = temp; ! ext = ""; dot = 0; for (s=name; *s; ++s) { *** old/x_menu.c Thu Sep 29 12:43:36 1988 --- x_menu.c Thu Sep 29 12:48:38 1988 *************** *** 142,146 /* get the answers */ if (is_batch) ! ans = get_str(gn_win, 60, "", ""); else ans = get_str(gn_win, 60, "", " "); --- 142,146 ----- /* get the answers */ if (is_batch) ! ans = get_str(gn_win, 60, "", "\n"); else ans = get_str(gn_win, 60, "", " \t\n"); *************** *** 144,148 ans = get_str(gn_win, 60, "", ""); else ! ans = get_str(gn_win, 60, "", " "); if (ans == NULL || *ans == NULL) { --- 144,148 ----- ans = get_str(gn_win, 60, "", "\n"); else ! ans = get_str(gn_win, 60, "", " \t\n"); if (ans == NULL || *ans == NULL) { *************** *** 250,254 wrefresh(ge_win); /* get the line */ ! ans = get_str(ge_win, 60, "", ""); cmd = expand(ans); if (*cmd == NULL) --- 250,254 ----- wrefresh(ge_win); /* get the line */ ! ans = get_str(ge_win, 60, "", "\n"); cmd = expand(ans); if (*cmd == NULL) *** old/Doc Mon Sep 26 18:33:02 1988 --- Doc Sun Oct 2 12:28:48 1988 *************** *** 914,920 will briefly show in the status line. ! NOTE: Pcomm does not drop the DTR (Data Terminal Ready) during ! a hang up. Therefore, this would have no effect on direct ! lines. 5.7 Printer logging --- 914,919 ----- will briefly show in the status line. ! NOTE: Pcomm drops the DTR (Data Terminal Ready) before sending ! the hang up string. 5.7 Printer logging *** old/terminal.c Thu Sep 22 11:31:04 1988 --- terminal.c Sun Oct 2 12:41:18 1988 *************** *** 30,34 char c, lf=10, *strdup(); void help_screen(), line_set(), n_shell(), load_vs(), send_str(); ! void hang_up(), do_input(), list_dir(), pexit(), zap_vs(); void st_line(), chg_dir(), screen_dump(), input_off(), suspend(); void info(), term_mode(); --- 30,34 ----- char c, lf=10, *strdup(); void help_screen(), line_set(), n_shell(), load_vs(), send_str(); ! void release_port(), do_input(), list_dir(), pexit(), zap_vs(); void st_line(), chg_dir(), screen_dump(), input_off(), suspend(); void info(), term_mode(); *************** *** 133,137 case 'h': case 'H': /* hang up phone */ ! hang_up(1); input_off(); break; --- 133,137 ----- case 'h': case 'H': /* hang up phone */ ! release_port(1); input_off(); break; *** old/port.c Thu Sep 22 14:27:27 1988 --- port.c Sun Oct 2 17:55:33 1988 *************** *** 223,227 } /* turn the getty back on? */ ! if (getty_status) set_getty(modem->tty[modem->t_cur], 1); /* clean up the structure */ --- 223,227 ----- } /* turn the getty back on? */ ! if (getty_status && modem->t_cur != -1) set_getty(modem->tty[modem->t_cur], 1); /* clean up the structure */