Patch #3 to Pcomm v1.2

egray at fthood.UUCP egray at fthood.UUCP
Fri May 12 09:25:00 AEST 1989


See???? I haven't forgot you guys!

This is patch #3 to the Pcomm v1.2 distribution package.  This patch
will fix few problems with Pcomm on Microsoft XENIX 3.0/3.5 and changes
the method of getting rid of zombie processes.

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.2"
*** old/info.c	Tue Mar  7 11:18:10 1989
--- info.c	Thu May 11 11:54:25 1989
***************
*** 4,9
   */
  
! #define VERSION	"1.2.2"
! #define DATE	"11 Mar 89"
  
  #include <stdio.h>

--- 4,9 -----
   */
  
! #define VERSION	"1.2.3"
! #define DATE	"11 May 89"
  
  #include <stdio.h>
*** old/Makefile	Fri Feb  3 07:39:32 1989
--- Makefile	Thu May 11 11:53:47 1989
***************
*** 8,11
  #TERMLIB = -ltinfo -lx
  
  CFLAGS = -O
  LDFLAGS = -s

--- 8,15 -----
  #TERMLIB = -ltinfo -lx
  
+ #for 80286 versions of Microsoft Xenix 3.0/3.5
+ #CFLAGS = -O -Mme2 -Dresetterm=xresetterm -DXENIX_3
+ #LDFLAGS = -s -Mm -F 5120
+ 
  CFLAGS = -O
  LDFLAGS = -s
***************
*** 63,71
  	cp matches $(BIN)
  	cp modem_break $(BIN)
! #	rm pcomm
! #	rm pcomm_input
! #	rm waitfor
! #	rm matches
! #	rm modem_break
  
  lint:

--- 67,77 -----
  	cp matches $(BIN)
  	cp modem_break $(BIN)
! 
! clean:
! 	rm pcomm
! 	rm pcomm_input
! 	rm waitfor
! 	rm matches
! 	rm modem_break
  
  lint:
*** old/d_menu.c	Fri Jan 27 09:38:36 1989
--- d_menu.c	Thu May 11 10:35:34 1989
***************
*** 50,53
  	waddstr(dm_win, " Scroll Down");
  
  	mvwattrstr(dm_win, 17, 14, A_BOLD, "<up>/<down>");
  	waddstr(dm_win, " Page");

--- 50,56 -----
  	waddstr(dm_win, " Scroll Down");
  
+ #ifdef OLDCURSES
+ 	mvwattrstr(dm_win, 17, 14, A_BOLD, "U/N");
+ #else /* OLDCURSES */
  	mvwattrstr(dm_win, 17, 14, A_BOLD, "<up>/<down>");
  #endif /* OLDCURSES */
***************
*** 51,54
  
  	mvwattrstr(dm_win, 17, 14, A_BOLD, "<up>/<down>");
  	waddstr(dm_win, " Page");
  	mvwattrch(dm_win, 17, 34, A_BOLD, 'L');

--- 54,58 -----
  #else /* OLDCURSES */
  	mvwattrstr(dm_win, 17, 14, A_BOLD, "<up>/<down>");
+ #endif /* OLDCURSES */
  	waddstr(dm_win, " Page");
  	mvwattrch(dm_win, 17, 34, A_BOLD, 'L');
*** old/di_delay.c	Fri Jan 13 07:47:22 1989
--- di_delay.c	Wed Apr 26 08:35:19 1989
***************
*** 50,54
  	}
  					/* get the rdelay number */
! 	wmove(dt_win, 6, 20);
  	wrefresh(dt_win);
  	if ((rdelay = get_num(dt_win, 3)) == -1) {

--- 50,54 -----
  	}
  					/* get the rdelay number */
! 	wmove(dt_win, 6, 22);
  	wrefresh(dt_win);
  	if ((rdelay = get_num(dt_win, 3)) == -1) {
*** old/di_win.c	Mon Jan 16 17:17:30 1989
--- di_win.c	Sat Apr 22 22:43:28 1989
***************
*** 198,202
  			else
  				write(fd, &cr, 1);
! 			sleep(1);
  		}
  					/* if we get here, no key was pressed */

--- 198,202 -----
  			else
  				write(fd, &cr, 1);
! 			sleep(2);
  		}
  					/* if we get here, no key was pressed */
***************
*** 257,260
  					dir->q_num[j] = dir->q_num[j+1];
  				dir->q_num[NUM_QUEUE-1] = -1;
  				break;
  			case 'e':

--- 257,263 -----
  					dir->q_num[j] = dir->q_num[j+1];
  				dir->q_num[NUM_QUEUE-1] = -1;
+ 
+ 				if (dir->q_num[i] == -1)
+ 					i = 0;
  				break;
  			case 'e':
*** old/getopt.c	Tue Oct 18 11:47:04 1988
--- getopt.c	Wed Apr 26 08:26:40 1989
***************
*** 4,7
  
  #include <stdio.h>
  
  int optind = 1;

--- 4,8 -----
  
  #include <stdio.h>
+ #include "config.h"
  
  int optind = 1;
*** old/help.c	Mon Jan 16 17:18:02 1989
--- help.c	Thu May 11 10:36:59 1989
***************
*** 23,26
  	horizontal(h_win, 2, 0, 80);
  	mvwattrstr(h_win, 4, 0, A_BOLD, "       Major Functions          Utility Functions         File Functions\n\n");
  	mvwprintw(h_win,  6,  2, "Dialing Directory.%4.4s-D  Program Info ....%4.4s-I  Send Files ....%4.4s-<up>", hot, hot, hot);
  	mvwprintw(h_win,  7,  2, "Auto Redial ......%4.4s-R  Setup Screen ....%4.4s-S  Receive Files .%4.4s-<down>", hot, hot, hot);

--- 23,30 -----
  	horizontal(h_win, 2, 0, 80);
  	mvwattrstr(h_win, 4, 0, A_BOLD, "       Major Functions          Utility Functions         File Functions\n\n");
+ #ifdef OLDCURSES
+ 	mvwprintw(h_win,  6,  2, "Dialing Directory.%4.4s-D  Program Info ....%4.4s-I  Send Files ....%4.4s-U", hot, hot, hot);
+ 	mvwprintw(h_win,  7,  2, "Auto Redial ......%4.4s-R  Setup Screen ....%4.4s-S  Receive Files .%4.4s-N", hot, hot, hot);
+ #else /* OLDCURSES */
  	mvwprintw(h_win,  6,  2, "Dialing Directory.%4.4s-D  Program Info ....%4.4s-I  Send Files ....%4.4s-<up>", hot, hot, hot);
  	mvwprintw(h_win,  7,  2, "Auto Redial ......%4.4s-R  Setup Screen ....%4.4s-S  Receive Files .%4.4s-<down>", hot, hot, hot);
***************
*** 25,28
  	mvwprintw(h_win,  6,  2, "Dialing Directory.%4.4s-D  Program Info ....%4.4s-I  Send Files ....%4.4s-<up>", hot, hot, hot);
  	mvwprintw(h_win,  7,  2, "Auto Redial ......%4.4s-R  Setup Screen ....%4.4s-S  Receive Files .%4.4s-<down>", hot, hot, hot);
  	mvwprintw(h_win,  8,  2, "Keyboard Macros ..%4.4s-M  Change Directory.%4.4s-B  Pass Thru Mode.%4.4s-T", hot, hot, hot);
  	mvwprintw(h_win,  9,  2, "Line Settings ....%4.4s-P  Clear Screen ....%4.4s-C  Directory .....%4.4s-F", hot, hot, hot);

--- 29,33 -----
  	mvwprintw(h_win,  6,  2, "Dialing Directory.%4.4s-D  Program Info ....%4.4s-I  Send Files ....%4.4s-<up>", hot, hot, hot);
  	mvwprintw(h_win,  7,  2, "Auto Redial ......%4.4s-R  Setup Screen ....%4.4s-S  Receive Files .%4.4s-<down>", hot, hot, hot);
+ #endif /* OLDCURSES */
  	mvwprintw(h_win,  8,  2, "Keyboard Macros ..%4.4s-M  Change Directory.%4.4s-B  Pass Thru Mode.%4.4s-T", hot, hot, hot);
  	mvwprintw(h_win,  9,  2, "Line Settings ....%4.4s-P  Clear Screen ....%4.4s-C  Directory .....%4.4s-F", hot, hot, hot);
*** old/main.c	Tue Mar  7 11:18:10 1989
--- main.c	Thu May 11 11:54:47 1989
***************
*** 15,18
   *	Patch #1	18 Feb 89
   *	Patch #2	11 Mar 89
   */
  

--- 15,19 -----
   *	Patch #1	18 Feb 89
   *	Patch #2	11 Mar 89
+  *	Patch #3	11 May 89
   */
  
***************
*** 150,153
  	cbreak();
  	noecho();
  
  #ifdef OLDCURSES

--- 151,157 -----
  	cbreak();
  	noecho();
+ #ifdef XENIX_3
+ 	raw();
+ #endif /* XENIX_3 */
  
  #ifdef OLDCURSES
*** old/modem_break.c	Thu Jan 12 14:32:16 1989
--- modem_break.c	Wed May 10 12:18:47 1989
***************
*** 5,8
  
  #include <stdio.h>
  #ifdef BSD
  #include <sgtty.h>

--- 5,12 -----
  
  #include <stdio.h>
+ #ifdef XENIX_3
+ #include <sys/types.h>
+ #include <sys/ioctl.h>
+ #endif /* XENIX_3 */
  #ifdef BSD
  #include <sgtty.h>
*** old/script.c	Mon Feb 20 15:32:06 1989
--- script.c	Sun Apr  2 12:21:17 1989
***************
*** 138,143
  			break;
  	}
- 					/* wait for the zombie process */
- 	wait(&sig_status);
  
  	signal(SIGINT, istat);

--- 138,141 -----
  			break;
  	}
  
  	signal(SIGINT, istat);
*** old/terminal.c	Mon Feb 20 15:32:08 1989
--- terminal.c	Tue May  2 09:29:35 1989
***************
*** 394,397
  input_off()
  {
  	if (pid != -1) {
  		kill(pid, SIGTERM);

--- 394,399 -----
  input_off()
  {
+ 	SIG_TYPE (*cstat)();
+ 
  	if (pid != -1) {
  		/*
***************
*** 395,398
  {
  	if (pid != -1) {
  		kill(pid, SIGTERM);
  		pid = -1;

--- 397,404 -----
  
  	if (pid != -1) {
+ 		/*
+ 		 * This serves to periodically clean up the process table
+ 		 */
+ 		cstat = signal(SIGCLD, SIG_IGN);
  		kill(pid, SIGTERM);
  		pid = -1;
***************
*** 397,400
  		kill(pid, SIGTERM);
  		pid = -1;
  	}
  	return;

--- 403,407 -----
  		kill(pid, SIGTERM);
  		pid = -1;
+ 		signal(SIGCLD, cstat);
  	}
  	return;
*** old/tty_att.c	Thu Dec 29 13:24:52 1988
--- tty_att.c	Wed May 10 12:18:47 1989
***************
*** 4,7
  
  #include <stdio.h>
  #include <termio.h>
  #include <fcntl.h>

--- 4,11 -----
  
  #include <stdio.h>
+ #ifdef XENIX_3
+ #include <sys/types.h>
+ #include <sys/ioctl.h>
+ #endif /* XENIX_3 */
  #include <termio.h>
  #include <fcntl.h>
*** old/vcs.c	Fri Jan 27 10:06:04 1989
--- vcs.c	Wed May 10 12:18:48 1989
***************
*** 10,13
  #include <curses.h>
  #include <term.h>
  #endif /* OLDCURSES */
  

--- 10,15 -----
  #include <curses.h>
  #include <term.h>
+ #else /* OLDCURSES */
+ char tcbuf[1024];
  #endif /* OLDCURSES */
  
***************
*** 188,192
  
  #ifdef OLDCURSES
! 	char tcbuf[1024], tb[1024], *t, *cursor_home, *clr_eol, *clr_eos;
  	char *clear_screen, *cursor_up, *cursor_down, *cursor_right;
  	char *cursor_left, *cursor_address, *getenv(), *tgetstr(), *tgoto();

--- 190,194 -----
  
  #ifdef OLDCURSES
! 	char tb[1024], *t, *cursor_home, *clr_eol, *clr_eos;
  	char *clear_screen, *cursor_up, *cursor_down, *cursor_right;
  	char *cursor_left, *cursor_address, *getenv(), *tgetstr(), *tgoto();
*** old/x_extrnl.c	Fri Feb  3 10:08:06 1989
--- x_extrnl.c	Sun Apr  2 12:21:19 1989
***************
*** 118,123
  			break;
  	}
- 					/* wait for the zombie process */
- 	wait(&sig_status);
  
  	signal(SIGINT, istat);

--- 118,121 -----
  			break;
  	}
  
  	signal(SIGINT, istat);



More information about the Unix-pc.sources mailing list