Patch #1 to Pcomm v1.2

egray at fthood.UUCP egray at fthood.UUCP
Sat Feb 18 00:25:00 AEST 1989


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



More information about the Unix-pc.sources mailing list