Subject: v14i105: Dial out and terminal emulator, Patch1 Newsgroups: comp.sources.unix Sender: sources Approved: rsalz@uunet.UU.NET Submitted-by: fthood!egray Posting-number: Volume 14, Issue 105 Archive-name: pcomm/patch1 [ The comp.sources.unix distribution of Pcomm already has patches 1 and 2 integrated. There are two dummy files, and patch3 and patch4; here's what they fix: Now works with external modems on the AT&T Unix PC 7300/3B1. (Many thanks to Karl Fox (...mstar!karl) for finding this one.) Some fixes for some modems, including ability to ignore DCD and avoid initializing them twice. --r$ ] I only release patches when it's necessary (really!)... I'm not just hacking on the code. I guess I'm allowed a *few* errors in 10,000 lines of code :-) Emmet P. Gray US Army, HQ III Corps & Fort Hood ...!ihnp4!uiucuxc!fthood!egray Attn: AFZF-DE-ENV Directorate of Engineering & Housing Environmental Management Office Fort Hood, TX 76544-5057 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh 'patch1' <<'END_OF_FILE' This distribution came with patch 1 already applied END_OF_FILE if test 52 -ne `wc -c <'patch1'`; then echo shar: \"'patch1'\" unpacked with wrong size! fi # end of 'patch1' fi if test -f 'patch2' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patch2'\" else echo shar: Extracting \"'patch2'\" \(52 characters\) sed "s/^X//" >'patch2' <<'END_OF_FILE' This distribution came with patch 2 already applied END_OF_FILE if test 52 -ne `wc -c <'patch2'`; then echo shar: \"'patch2'\" unpacked with wrong size! fi # end of 'patch2' fi if test -f 'patch3' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patch3'\" else echo shar: Extracting \"'patch3'\" \(929 characters\) sed "s/^X//" >'patch3' <<'END_OF_FILE' Now works with external modems on the AT&T Unix PC 7300/3B1. X(Many thanks to Karl Fox (...mstar!karl) for finding this one.) X X*** dial.c.old Sat Apr 2 16:11:16 1988 X--- dial.c Sat Apr 2 16:15:14 1988 X*************** X*** 102,107 X } X n++; X } X } X X #else /* UNIXPC */ X X--- 102,108 ----- X } X n++; X } X+ return; X } X #endif /* UNIXPC */ X X*************** X*** 103,108 X n++; X } X } X X #else /* UNIXPC */ X send_str(s); X X--- 104,110 ----- X } X return; X } X+ #endif /* UNIXPC */ X X send_str(s); X return; X*************** X*** 104,110 X } X } X X- #else /* UNIXPC */ X send_str(s); X #endif /* UNIXPC */ X return; X X--- 106,111 ----- X } X #endif /* UNIXPC */ X X send_str(s); X return; X } X*************** X*** 106,112 X X #else /* UNIXPC */ X send_str(s); X- #endif /* UNIXPC */ X return; X } X X X--- 107,112 ----- X #endif /* UNIXPC */ X X send_str(s); X return; X } X X X END_OF_FILE if test 929 -ne `wc -c <'patch3'`; then echo shar: \"'patch3'\" unpacked with wrong size! fi # end of 'patch3' fi if test -f 'patch4' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patch4'\" else echo shar: Extracting \"'patch4'\" \(2323 characters\) sed "s/^X//" >'patch4' <<'END_OF_FILE' This patch will allow Pcomm to ignore the DCD (Data Carrier Dectect) signal on the modem. This will help out finicky modems (those that can't ignore the DCD themselves). X Also, some modems like to be initialized only once, so that change was made. X X*** old/line_set.c Thu Apr 14 07:51:59 1988 X--- line_set.c Thu Apr 14 07:51:46 1988 X*************** X*** 34,40 X tbuf.c_cc[5] = 0; X tbuf.c_oflag = 0; X tbuf.c_iflag = 0; X! tbuf.c_cflag = (CREAD|HUPCL); X tbuf.c_lflag = 0; X X /* X X--- 34,40 ----- X tbuf.c_cc[5] = 0; X tbuf.c_oflag = 0; X tbuf.c_iflag = 0; X! tbuf.c_cflag = (CREAD|HUPCL|CLOCAL); X tbuf.c_lflag = 0; X X /* X*** old/port.c Thu Apr 14 07:51:59 1988 X--- port.c Thu Apr 14 07:51:46 1988 X*************** X*** 27,32 X { X int i, j, k, progpid, fd, list[NUM_TTY]; X char file[80], buf[80], message[80], *strdup(); X void error_win(), line_set(), release_port(), send_str(); X void free_ptr(); X X X--- 27,33 ----- X { X int i, j, k, progpid, fd, list[NUM_TTY]; X char file[80], buf[80], message[80], *strdup(); X+ unsigned int sleep(); X void error_win(), line_set(), release_port(), send_str(); X void free_ptr(); X X*************** X*** 38,45 X if (!strcmp(dir->index[dir->d_cur], modem->tty[modem->t_cur]) || X modem->mbaud[modem->t_cur] >= dir->baud[dir->d_cur]) { X /* X! * Re-initialize the modem because the baud X! * rate (or other parameters) may have changed. X */ X line_set(); X send_str(modem->init[modem->m_cur]); X X--- 39,46 ----- X if (!strcmp(dir->index[dir->d_cur], modem->tty[modem->t_cur]) || X modem->mbaud[modem->t_cur] >= dir->baud[dir->d_cur]) { X /* X! * Reset the line because the baud rate (or other X! * parameters) may have changed. X */ X line_set(); X return(0); X*************** X*** 42,48 X * rate (or other parameters) may have changed. X */ X line_set(); X- send_str(modem->init[modem->m_cur]); X return(0); X } X } X X--- 43,48 ----- X * parameters) may have changed. X */ X line_set(); X return(0); X } X } X*************** X*** 145,150 X } X /* initialize the modem */ X send_str(modem->init[j]); X return(0); X } X i++; X X--- 145,151 ----- X } X /* initialize the modem */ X send_str(modem->init[j]); X+ sleep(1); X return(0); X } X i++; X X X END_OF_FILE if test 2323 -ne `wc -c <'patch4'`; then echo shar: \"'patch4'\" unpacked with wrong size! fi # end of 'patch4' fi echo shar: End of shell archive. exit 0