egray@fthood.UUCP (02/17/89)
This is patch #1 to the Pcomm v1.2 distribution package. After this patch is installed, the version number will change from 1.2.0 to 1.2.1. This patch will fix a problem with ymodem transfers on 16 bit systems, and will fix a bug in the redial function. Many thanks to Larry Clark (...killer!larryd1) for pointing these bugs out to me. 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 ----------------------------------------------------------------------------- Prereq: "1.2.0" *** old/info.c Fri Feb 10 11:33:36 1989 --- info.c Sun Feb 12 10:07:13 1989 *************** *** 4,9 */ ! #define VERSION "1.2.0" ! #define DATE "4 Feb 89" #include <stdio.h> --- 4,9 ----- */ ! #define VERSION "1.2.1" ! #define DATE "18 Feb 89" #include <stdio.h> *** old/main.c Fri Feb 10 11:33:37 1989 --- main.c Sun Feb 12 10:07:07 1989 *************** *** 13,16 * Release v1.1 21 Aug 88 * Release v1.2.0 4 Feb 89 */ --- 13,17 ----- * Release v1.1 21 Aug 88 * Release v1.2.0 4 Feb 89 + * Patch #1 18 Feb 89 */ *** old/redial.c Fri Feb 10 11:28:38 1989 --- redial.c Fri Feb 10 07:22:18 1989 *************** *** 52,56 entry = strtok(ans, " \t"); for (i=0; i<NUM_QUEUE; i++) { ! if (*entry == '\0') { dir->q_num[i] = -1; continue; --- 52,56 ----- entry = strtok(ans, " \t"); for (i=0; i<NUM_QUEUE; i++) { ! if (entry == NULL) { dir->q_num[i] = -1; continue; *** old/script.c Fri Feb 10 11:28:38 1989 --- script.c Tue Feb 7 10:26:44 1989 *************** *** 41,45 char buf[80], *ttyname(), *strcpy(), *path, *findfile(); void _exit(), error_win(), input_off(), do_input(); - unsigned int sleep(); /* if empty */ --- 41,44 ----- char buf[80], *ttyname(), *strcpy(), *path, *findfile(); void _exit(), error_win(), input_off(), do_input(); /* if empty */ *************** *** 153,157 close(dup_pipe[0]); close(dup_pipe[1]); - sleep(1); beep(); return; --- 152,155 ----- close(dup_pipe[0]); close(dup_pipe[1]); beep(); return; *** old/terminal.c Mon Feb 13 08:05:19 1989 --- terminal.c Mon Feb 13 08:11:33 1989 *************** *** 15,18 #include "xmodem.h" #ifdef UNIXPC #include <sys/phone.h> --- 15,24 ----- #include "xmodem.h" + #ifdef BSD + #include <sys/file.h> + #else /* BSD */ + #include <fcntl.h> + #endif /* BSD */ + #ifdef UNIXPC #include <sys/phone.h> *************** *** 17,21 #ifdef UNIXPC #include <sys/phone.h> - #include <fcntl.h> #endif /* UNIXPC */ --- 23,26 ----- #ifdef UNIXPC #include <sys/phone.h> #endif /* UNIXPC */ *************** *** 408,411 void send_str(), st_line(), line_set(); char buf[80], *strcpy(), *ttyname(); /* sanity checking */ if (modem == NULL) --- 413,417 ----- void send_str(), st_line(), line_set(); char buf[80], *strcpy(), *ttyname(); + unsigned int sleep(); /* sanity checking */ if (modem == NULL) *************** *** 436,439 #endif /* UNIXPC */ send_str(modem->hang_up[modem->m_cur], SLOW); if (verbose) --- 442,453 ----- #endif /* UNIXPC */ send_str(modem->hang_up[modem->m_cur], SLOW); + + /* + * Some modems do "damage" to the tty driver when they hang up by + * flashing the modem control lines on the port. The following is + * some witchcraft designed to put the driver back the way it was. + */ + sleep(1); + close(open(ttyname(fd), O_RDWR)); if (verbose) *** old/x_rcv.c Fri Feb 10 11:28:38 1989 --- x_rcv.c Fri Feb 10 07:19:12 1989 *************** *** 29,33 int i, default_err, is_batch, max_block, code, file_count, got_hdr; int hours, mins, secs, len; ! long block, recv; float percent, performance; unsigned char blk; --- 29,33 ----- int i, default_err, is_batch, max_block, code, file_count, got_hdr; int hours, mins, secs, len; ! long block, recv, partial; float percent, performance; unsigned char blk; *************** *** 194,199 if (!code) { if (file_length != 0L) { ! len = file_length - recv; ! if (len > block_size) len = block_size; } --- 194,199 ----- if (!code) { if (file_length != 0L) { ! partial = file_length - recv; ! if (partial > (long) block_size) len = block_size; else *************** *** 197,200 if (len > block_size) len = block_size; } else --- 197,202 ----- if (partial > (long) block_size) len = block_size; + else + len = partial; } else *************** *** 252,257 wattrstr(win, A_BOLD, "TRUNCATE ERROR"); wrefresh(win); ! /* fatal */ ! return(1); } } --- 254,258 ----- wattrstr(win, A_BOLD, "TRUNCATE ERROR"); wrefresh(win); ! sleep(1); } } *** old/Release.notes Fri Feb 10 11:28:37 1989 --- Release.notes Fri Feb 10 07:42:26 1989 *************** *** 38,42 definitions for zmodem). ! The pcomm.input program has been changed to use multiple character buffered writes to the screen. Both the input and output buffer sizes are tunable parameters in config.h --- 38,42 ----- definitions for zmodem). ! The pcomm_input program has been changed to use multiple character buffered writes to the screen. Both the input and output buffer sizes are tunable parameters in config.h