[comp.sources.wanted] need patch #9 to pcomm 1.2

emanuele@overlf.UUCP (Mark A. Emanuele) (01/01/91)

I tried to ftp the sources from 129.229.1.101 but the patch shar was corrupted.
and I need Patch 9 .

-- 
Mark A. Emanuele
V.P. Engineering  Overleaf, Inc.
500 Route 10 Ledgewood, NJ 07852-9639         attmail!overlf!emanuele
(201) 927-3785 Voice   (201) 927-5781 fax     emanuele@overlf.UUCP

egray@osiris.cso.uiuc.edu (Emmet P. Gray) (01/01/91)

I often get mail saying that the archives for Pcomm and Mtools on
cerl.cecer.army.mil (129.229.1.101) are corrupted.  This system often
has trouble with FTP's "mget" command, and seems to prefer "get"
instead.

Until there's a cure, be persistent.

Emmet P. Gray				US Army, HQ III Corps & Fort Hood
...!uunet!uiucuxc!fthood!egray		Attn: AFZF-DE-ENV
fthood!egray@uxc.cso.uiuc.edu		Directorate of Engineering & Housing
					Environmental Management Office
					Fort Hood, TX 76544-5057

-----------------------------------------------------------------------------
Prereq: "1.2.9"
*** old/info.c	Fri Nov 16 14:51:26 1990
--- info.c	Sun Dec 30 12:38:35 1990
***************
*** 4,9
   */
  
! #define VERSION	"1.2.9"
! #define DATE	"1 Sep 90"
  
  #include <stdio.h>

--- 4,9 -----
   */
  
! #define VERSION	"1.2.10"
! #define DATE	"30 Dec 90"
  
  #include <stdio.h>
*** old/Makefile	Fri Nov 16 15:00:36 1990
--- Makefile	Sun Dec 30 16:05:26 1990
***************
*** 89,93
  	screen.c script.c st_line.c strings.c terminal.c tty_att.c \
  	x_ascii.c x_batch.c x_extrnl.c x_menu.c x_rcv.c x_send.c x_win.c \
! 	xmodem.c
  	lint -p -Dlint input.c vcs.c
  	lint -p -Dlint waitfor.c

--- 89,93 -----
  	screen.c script.c st_line.c strings.c terminal.c tty_att.c \
  	x_ascii.c x_batch.c x_extrnl.c x_menu.c x_rcv.c x_send.c x_win.c \
! 	xmodem.c $(CURSES)
  	lint -p -Dlint input.c vcs.c
  	lint -p -Dlint waitfor.c
*** old/Readme	Fri Nov 16 14:51:24 1990
--- Readme	Sun Dec 30 12:14:57 1990
***************
*** 106,109
  			file.  Newer version of XENIX may require this.
  
  	KEEP_PORT	If defined, the port will be kept open between
  			dialing attempts to save time.  Some systems

--- 106,112 -----
  			file.  Newer version of XENIX may require this.
  
+ 	SVR4_LOCKS	If defined, the new UUCP lockfile format
+ 			introduced in SVR4 will be used.
+ 
  	KEEP_PORT	If defined, the port will be kept open between
  			dialing attempts to save time.  Some systems
*** old/Unixpc.shar	Fri Nov 16 14:51:24 1990
--- Unixpc.shar	Sun Dec 30 12:36:26 1990
***************
*** 85,89
  fi
  fi
! echo shar: "extracting 'Makefile'" '(5239 characters)'
  if test -f 'Makefile'
  then

--- 85,89 -----
  fi
  fi
! echo shar: "extracting 'Makefile'" '(5482 characters)'
  if test -f 'Makefile'
  then
***************
*** 151,159
  X	cp matches $(BIN)
  X	cp modem_break $(BIN)
- X#	rm pcomm
- X#	rm pcomm_input
- X#	rm waitfor
- X#	rm matches
- X#	rm modem_break
  X
  Xlint:

--- 151,154 -----
  X	cp matches $(BIN)
  X	cp modem_break $(BIN)
  X
  Xclean:
***************
*** 157,160
  X#	rm modem_break
  X
  Xlint:
  X	lint -p -Dlint admin.c chg_dir.c curses.c d_delete.c d_lib.c \

--- 152,162 -----
  X	cp modem_break $(BIN)
  X
+ Xclean:
+ X	rm pcomm
+ X	rm pcomm_input
+ X	rm waitfor
+ X	rm matches
+ X	rm modem_break
+ X
  Xlint:
  X	lint -p -Dlint admin.c chg_dir.c curses.c d_delete.c d_lib.c \
***************
*** 173,177
  X
  Xshar:
! X	$(SHAR) Doc > pcomm_sh.1
  X	$(SHAR) Makefile Matches.1 Modem_break.1 Pcomm.1 Pcomm.dial_dir \
  X	Pcomm.extrnl Pcomm.modem Pcomm.param Readme Release.notes Sample \

--- 175,179 -----
  X
  Xshar:
! X	$(SHAR) Doc.nr > pcomm_sh.1
  X	$(SHAR) Makefile Matches.1 Modem_break.1 Pcomm.1 Pcomm.dial_dir \
  X	Pcomm.extrnl Pcomm.modem Pcomm.param Readme Release.notes Sample \
***************
*** 176,181
  X	$(SHAR) Makefile Matches.1 Modem_break.1 Pcomm.1 Pcomm.dial_dir \
  X	Pcomm.extrnl Pcomm.modem Pcomm.param Readme Release.notes Sample \
! X	Unixpc.shar Waitfor.1 > pcomm_sh.2
! X	$(SHAR) admin.c chg_dir.c config.h curses.c d_delete.c d_lib.c \
  X	d_manual.c d_menu.c d_print.c d_prompt.c d_revise.c data_log.c \
  X	di_delay.c > pcomm_sh.3

--- 178,183 -----
  X	$(SHAR) Makefile Matches.1 Modem_break.1 Pcomm.1 Pcomm.dial_dir \
  X	Pcomm.extrnl Pcomm.modem Pcomm.param Readme Release.notes Sample \
! X	Unixpc.shar Waitfor.1 admin.c > pcomm_sh.2
! X	$(SHAR) chg_dir.c config.h curses.c d_delete.c d_lib.c \
  X	d_manual.c d_menu.c d_print.c d_prompt.c d_revise.c data_log.c \
  X	di_delay.c > pcomm_sh.3
***************
*** 185,190
  X	$(SHAR) m_lib.c macro.c main.c matches.c misc.h modem.h \
  X	modem_break.c n_shell.c p_lib.c param.h passthru.c pexit.c \
! X	port.c > pcomm_sh.5
! X	$(SHAR) redial.c s_axfer.c s_extrnl.c s_gen.c s_menu.c s_modem.c \
  X	s_prompt.c s_term.c s_tty.c screen.c script.c st_line.c status.h \
  X	strings.c > pcomm_sh.6

--- 187,192 -----
  X	$(SHAR) m_lib.c macro.c main.c matches.c misc.h modem.h \
  X	modem_break.c n_shell.c p_lib.c param.h passthru.c pexit.c \
! X	port.c redial.c > pcomm_sh.5
! X	$(SHAR) s_axfer.c s_extrnl.c s_gen.c s_menu.c s_modem.c \
  X	s_prompt.c s_term.c s_tty.c screen.c script.c st_line.c status.h \
  X	strings.c terminal.c > pcomm_sh.6
***************
*** 188,196
  X	$(SHAR) redial.c s_axfer.c s_extrnl.c s_gen.c s_menu.c s_modem.c \
  X	s_prompt.c s_term.c s_tty.c screen.c script.c st_line.c status.h \
! X	strings.c > pcomm_sh.6
! X	$(SHAR) terminal.c tty_att.c tty_ucb.c vcs.c vcs.h waitfor.c \
! X	x_ascii.c x_batch.c x_extrnl.c > pcomm_sh.7
! X	$(SHAR) x_menu.c x_rcv.c x_send.c x_win.c xmodem.c xmodem.h \
! X	> pcomm_sh.8
  X
  Xadmin.o:	config.h dial_dir.h param.h

--- 190,199 -----
  X	$(SHAR) s_axfer.c s_extrnl.c s_gen.c s_menu.c s_modem.c \
  X	s_prompt.c s_term.c s_tty.c screen.c script.c st_line.c status.h \
! X	strings.c terminal.c > pcomm_sh.6
! X	$(SHAR) tty_att.c tty_ucb.c vcs.c vcs.h waitfor.c x_ascii.c \
! X	x_batch.c x_extrnl.c x_menu.c > pcomm_sh.7
! X	$(SHAR) x_rcv.c x_send.c x_win.c xmodem.c xmodem.h > pcomm_sh.8
! X	$(SHAR) Doc.out Matches.out Modem_break.ou Pcomm.out Waitfor.out \
! X	> pcomm_sh.9
  X
  Xadmin.o:	config.h dial_dir.h param.h
***************
*** 210,213
  Xe_lib.o:	extrnl.h
  Xexpand.o:	config.h
  Xhelp.o:		config.h misc.h
  Xinit.o:		config.h misc.h status.h

--- 213,217 -----
  Xe_lib.o:	extrnl.h
  Xexpand.o:	config.h
+ Xgetopt.o:	config.h
  Xhelp.o:		config.h misc.h
  Xinit.o:		config.h misc.h status.h
***************
*** 213,216
  Xinit.o:		config.h misc.h status.h
  Xinput.o:	config.h misc.h status.h vcs.h
  Xls_menu.o:	config.h dial_dir.h misc.h param.h
  Xm_lib.o:	modem.h

--- 217,221 -----
  Xinit.o:		config.h misc.h status.h
  Xinput.o:	config.h misc.h status.h vcs.h
+ Xlist_dir.o:	config.h misc.h
  Xls_menu.o:	config.h dial_dir.h misc.h param.h
  Xm_lib.o:	modem.h
***************
*** 229,233
  Xs_modem.o:	config.h misc.h modem.h
  Xs_prompt.o:	config.h misc.h
! Xs_term.o:	config.h misc.h param.h status.h
  Xs_tty.o:	config.h misc.h modem.h
  Xscreen.o:	config.h param.h status.h

--- 234,238 -----
  Xs_modem.o:	config.h misc.h modem.h
  Xs_prompt.o:	config.h misc.h
! Xs_term.o:	config.h dial_dir.h misc.h param.h status.h
  Xs_tty.o:	config.h misc.h modem.h
  Xscreen.o:	config.h param.h status.h
***************
*** 236,241
  Xstrings.o:	config.h
  Xterminal.o:	config.h dial_dir.h misc.h modem.h param.h status.h xmodem.h
! Xtty_att.o:	dial_dir.h param.h
! Xtty_ucb.o:	dial_dir.h param.h
  Xvcs.o:		config.h vcs.h
  Xx_ascii.o:	config.h misc.h param.h

--- 241,246 -----
  Xstrings.o:	config.h
  Xterminal.o:	config.h dial_dir.h misc.h modem.h param.h status.h xmodem.h
! Xtty_att.o:	dial_dir.h modem.h param.h
! Xtty_ucb.o:	dial_dir.h modem.h param.h
  Xvcs.o:		config.h vcs.h
  Xx_ascii.o:	config.h misc.h param.h
***************
*** 247,250
  Xx_win.o:	config.h dial_dir.h misc.h xmodem.h
  Xxmodem.o:	config.h misc.h param.h xmodem.h
  SHAR_EOF
  if test 5239 -ne "`wc -c < 'Makefile'`"

--- 252,259 -----
  Xx_win.o:	config.h dial_dir.h misc.h xmodem.h
  Xxmodem.o:	config.h misc.h param.h xmodem.h
+ X
+ Xwaitfor:	config.h waitfor.c
+ Xmatches:	matches.c
+ Xmodem_break:	config.h modem_break.c
  SHAR_EOF
  if test 5482 -ne "`wc -c < 'Makefile'`"
***************
*** 248,252
  Xxmodem.o:	config.h misc.h param.h xmodem.h
  SHAR_EOF
! if test 5239 -ne "`wc -c < 'Makefile'`"
  then
  	echo shar: "error transmitting 'Makefile'" '(should have been 5239 characters)'

--- 257,261 -----
  Xmodem_break:	config.h modem_break.c
  SHAR_EOF
! if test 5482 -ne "`wc -c < 'Makefile'`"
  then
  	echo shar: "error transmitting 'Makefile'" '(should have been 5482 characters)'
***************
*** 250,254
  if test 5239 -ne "`wc -c < 'Makefile'`"
  then
! 	echo shar: "error transmitting 'Makefile'" '(should have been 5239 characters)'
  fi
  fi

--- 259,263 -----
  if test 5482 -ne "`wc -c < 'Makefile'`"
  then
! 	echo shar: "error transmitting 'Makefile'" '(should have been 5482 characters)'
  fi
  fi
***************
*** 273,277
  fi
  fi
! echo shar: "extracting 'Readme.7300'" '(5740 characters)'
  if test -f 'Readme.7300'
  then

--- 282,286 -----
  fi
  fi
! echo shar: "extracting 'Readme.7300'" '(6084 characters)'
  if test -f 'Readme.7300'
  then
***************
*** 433,436
  X	you're running HDB UUCP and have Pcomm set-user-id to uucp, you
  X	don't need to have SETUID_BROKE defined.
  SHAR_EOF
  if test 5740 -ne "`wc -c < 'Readme.7300'`"

--- 442,452 -----
  X	you're running HDB UUCP and have Pcomm set-user-id to uucp, you
  X	don't need to have SETUID_BROKE defined.
+ X
+ X	8. The default tunable parameters for the size of INBUF and
+ X	OUTBUF for the Unix PC are rather small in order to prevent a
+ X	"choppy" appearance on the screen.  However, if you have
+ X	installed the serial patch (called "serial_pat.Z" on osu-cis),
+ X	then the nominal sizes of 64 and 32 for INBUF and OUTBUF will
+ X	provide much better performance.
  SHAR_EOF
  if test 6084 -ne "`wc -c < 'Readme.7300'`"
***************
*** 434,438
  X	don't need to have SETUID_BROKE defined.
  SHAR_EOF
! if test 5740 -ne "`wc -c < 'Readme.7300'`"
  then
  	echo shar: "error transmitting 'Readme.7300'" '(should have been 5740 characters)'

--- 450,454 -----
  X	provide much better performance.
  SHAR_EOF
! if test 6084 -ne "`wc -c < 'Readme.7300'`"
  then
  	echo shar: "error transmitting 'Readme.7300'" '(should have been 6084 characters)'
***************
*** 436,440
  if test 5740 -ne "`wc -c < 'Readme.7300'`"
  then
! 	echo shar: "error transmitting 'Readme.7300'" '(should have been 5740 characters)'
  fi
  fi

--- 452,456 -----
  if test 6084 -ne "`wc -c < 'Readme.7300'`"
  then
! 	echo shar: "error transmitting 'Readme.7300'" '(should have been 6084 characters)'
  fi
  fi
***************
*** 439,443
  fi
  fi
! echo shar: "extracting 'config.h'" '(2273 characters)'
  if test -f 'config.h'
  then

--- 455,459 -----
  fi
  fi
! echo shar: "extracting 'config.h'" '(2308 characters)'
  if test -f 'config.h'
  then
***************
*** 481,485
  X
  X/* The path to the line printer program */
! X#define	LPR		"/usr/bin/lp"
  X
  X/* The path to the "pretty" printer program (if none, use same as LPR) */

--- 497,501 -----
  X
  X/* The path to the line printer program */
! X#define	LPR		"lp"
  X
  X/* The path to the "pretty" printer program (if none, use "pr | lp") */
***************
*** 483,488
  X#define	LPR		"/usr/bin/lp"
  X
! X/* The path to the "pretty" printer program (if none, use same as LPR) */
! X#define	LPRINT		"/usr/bin/lp"
  X
  X/* The path to the default directory containing the Pcomm support files */

--- 499,504 -----
  X#define	LPR		"lp"
  X
! X/* The path to the "pretty" printer program (if none, use "pr | lp") */
! X#define	LPRINT		"pr | lp"
  X
  X/* The path to the default directory containing the Pcomm support files */
***************
*** 495,500
  X#undef	ASCII_PID
  X
! X/* Fold the last character of the lock file to lower case? */
! X#undef XENIX_LOCKS
  X
  X/* Should Pcomm optimize redialing by keeping the TTY port open */

--- 511,516 -----
  X#undef	ASCII_PID
  X
! X/* Fold the last character of the lock to lower case? */
! X#undef	XENIX_LOCKS
  X
  X/* Use the new SVR4 lock format? */
***************
*** 498,501
  X#undef XENIX_LOCKS
  X
  X/* Should Pcomm optimize redialing by keeping the TTY port open */
  X#define	KEEP_PORT

--- 514,520 -----
  X#undef	XENIX_LOCKS
  X
+ X/* Use the new SVR4 lock format? */
+ X#undef	SVR4_LOCKS
+ X
  X/* Should Pcomm optimize redialing by keeping the TTY port open */
  X#define	KEEP_PORT
***************
*** 528,532
  X#endif /* OLDCURSES */
  SHAR_EOF
! if test 2273 -ne "`wc -c < 'config.h'`"
  then
  	echo shar: "error transmitting 'config.h'" '(should have been 2273 characters)'

--- 547,551 -----
  X#endif /* OLDCURSES */
  SHAR_EOF
! if test 2308 -ne "`wc -c < 'config.h'`"
  then
  	echo shar: "error transmitting 'config.h'" '(should have been 2308 characters)'
***************
*** 530,534
  if test 2273 -ne "`wc -c < 'config.h'`"
  then
! 	echo shar: "error transmitting 'config.h'" '(should have been 2273 characters)'
  fi
  fi

--- 549,553 -----
  if test 2308 -ne "`wc -c < 'config.h'`"
  then
! 	echo shar: "error transmitting 'config.h'" '(should have been 2308 characters)'
  fi
  fi
*** old/admin.c	Fri Nov 16 14:51:24 1990
--- admin.c	Sun Dec 30 14:00:32 1990
***************
*** 23,27
  #ifdef LOG_CALLS
  	FILE *fp;
! 	char *number, *build_num(), *date, *ctime(), *getlogin(), buf[80];
  	long now, time();
  	void error_win();

--- 23,28 -----
  #ifdef LOG_CALLS
  	FILE *fp;
! 	char *number, *date, *ctime(), *getlogin(), buf[80];
! 	static char *build_num();
  	long now, time();
  	void error_win();
***************
*** 57,61
  {
  #ifdef LIMIT_LD
! 	char *number, *build_num(), *name, *getlogin();
  	struct group *getgrnam(), *grpbuf;
  

--- 58,63 -----
  {
  #ifdef LIMIT_LD
! 	char *number, *name, *getlogin();
! 	static char *build_num();
  	struct group *getgrnam(), *grpbuf;
  
*** old/config.h	Fri Nov 16 14:51:25 1990
--- config.h	Sun Dec 30 12:52:04 1990
***************
*** 51,54
  /* Fold the last character of the lock to lower case? */
  #undef	XENIX_LOCKS
  
  /* Should Pcomm optimize redialing by keeping the TTY port open */

--- 51,57 -----
  /* Fold the last character of the lock to lower case? */
  #undef	XENIX_LOCKS
+ 
+ /* Use the new SVR4 lock format? */
+ #undef	SVR4_LOCKS
  
  /* Should Pcomm optimize redialing by keeping the TTY port open */
*** old/curses.c	Fri Nov 16 14:51:25 1990
--- curses.c	Sun Dec 30 13:58:45 1990
***************
*** 399,403
  unsigned int sec;
  {
! 	int key, wk_force();
  	unsigned int alarm();
  	char c;

--- 399,404 -----
  unsigned int sec;
  {
! 	int key;
! 	static int wk_force();
  	unsigned int alarm();
  	char c;
*** old/d_manual.c	Fri Nov 16 14:51:25 1990
--- d_manual.c	Sun Dec 30 14:01:07 1990
***************
*** 18,22
  	WINDOW *m_win, *newwin();
  	char *number, *str_rep(), *get_str(), ld_code, *strchr();
! 	void fix_xmc(), free_ptr();
  
  	m_win = newwin(5, 50, 0, 20);

--- 18,23 -----
  	WINDOW *m_win, *newwin();
  	char *number, *str_rep(), *get_str(), ld_code, *strchr();
! 	void free_ptr();
! 	static void fix_xmc();
  
  	m_win = newwin(5, 50, 0, 20);
*** old/d_menu.c	Fri Nov 16 14:51:25 1990
--- d_menu.c	Sun Dec 30 14:02:06 1990
***************
*** 23,27
  	char buf[5], ld_code;
  	int ans, start, needs_repair, count, x, y, i, ret_code;
! 	void dir_scroll(), active_ld(), disp_ld(), print_dir(), st_line();
  
  	touchwin(stdscr);

--- 23,28 -----
  	char buf[5], ld_code;
  	int ans, start, needs_repair, count, x, y, i, ret_code;
! 	void print_dir(), st_line();
! 	static void dir_scroll(), active_ld(), disp_ld();
  
  	touchwin(stdscr);
*** old/d_print.c	Fri Nov 16 14:51:25 1990
--- d_print.c	Sun Dec 30 14:02:43 1990
***************
*** 18,22
  	FILE *fp, *popen(), *my_fopen();
  	WINDOW *p_win, *newwin();
! 	char *ans, *file, *e_get_str(), buf[100], *expand();
  	int is_printer, i;
  	void error_win();

--- 18,23 -----
  	FILE *fp, *popen(), *my_fopen();
  	WINDOW *p_win, *newwin();
! 	char *ans, *file, buf[100], *expand();
! 	static char *e_get_str();
  	int is_printer, i;
  	void error_win();
*** old/d_revise.c	Fri Nov 16 14:51:25 1990
--- d_revise.c	Sun Dec 30 14:03:19 1990
***************
*** 16,20
  	WINDOW *r_win, *newwin();
  	int count, dir_flag, param_flag, num, x, y, save;
! 	char ans, buf[40], *ld, *ld_prompt(), *str_rep();
  
  	r_win = newwin(7, 77, 7, 2);

--- 16,21 -----
  	WINDOW *r_win, *newwin();
  	int count, dir_flag, param_flag, num, x, y, save;
! 	char ans, buf[40], *ld, *str_rep();
! 	static char *ld_prompt();
  
  	r_win = newwin(7, 77, 7, 2);
*** old/di_win.c	Fri Nov 16 14:51:26 1990
--- di_win.c	Sun Dec 30 14:04:41 1990
***************
*** 26,29
  	WINDOW *di_win, *newwin();
  	int i, j, key, want_out, pass, tic, baud;
  	long now, time();
  	char *tbuf, *ctime(), *str, cr=13, *read_codes();

--- 26,30 -----
  	WINDOW *di_win, *newwin();
  	int i, j, key, want_out, pass, tic, baud;
+ 	static int can_sync();
  	long now, time();
  	char *tbuf, *ctime(), *str, cr=13, *read_codes();
***************
*** 28,32
  	long now, time();
  	char *tbuf, *ctime(), *str, cr=13, *read_codes();
! 	void disp_queue(), dial_it(), delay_times(), input_off();
  	void error_win(), line_set(), hang_up(), zap_vs(), log_calls();
  	void st_line();

--- 29,33 -----
  	long now, time();
  	char *tbuf, *ctime(), *str, cr=13, *read_codes();
! 	void dial_it(), delay_times(), input_off();
  	void error_win(), line_set(), hang_up(), zap_vs(), log_calls();
  	static void disp_queue();
***************
*** 30,34
  	void disp_queue(), dial_it(), delay_times(), input_off();
  	void error_win(), line_set(), hang_up(), zap_vs(), log_calls();
! 	void st_line();
  	unsigned int sleep();
  					/* are we already talking? */

--- 31,35 -----
  	void dial_it(), delay_times(), input_off();
  	void error_win(), line_set(), hang_up(), zap_vs(), log_calls();
! 	static void disp_queue();
  	unsigned int sleep();
  					/* are we already talking? */
*** old/dial.c	Fri Nov 16 14:51:26 1990
--- dial.c	Sun Dec 30 15:39:03 1990
***************
*** 126,129
  			n++;
  		}
  		return;
  	}

--- 126,135 -----
  			n++;
  		}
+ 		/*
+ 		 * It seems that the OBM doesn't always talk reliably to
+ 		 * other types of modems (most notibly Telebits).  Here
+ 		 * is some witchcraft to fix the problem.
+ 		 */
+ 		ioctl(fd, PIOCOVSPD);
  		return;
  	}
***************
*** 148,152
  	char *strchr();
  	unsigned int sleep();
! 	void do_pause();
  					/* empty string? */
  	if (s == NULL || *s == '\0')

--- 154,158 -----
  	char *strchr();
  	unsigned int sleep();
! 	static void do_pause();
  					/* empty string? */
  	if (s == NULL || *s == '\0')
***************
*** 241,245
   */
  
- char rc_buf[512];
  int rc_index;
  

--- 247,250 -----
   */
  
  int rc_index;
  
***************
*** 249,252
  	extern int fd;
  	int i;
  	char c;
  #ifdef UNIXPC

--- 254,258 -----
  	extern int fd;
  	int i;
+ 	static int match();
  	char c;
  	static char rc_buf[512];
***************
*** 250,253
  	int i;
  	char c;
  #ifdef UNIXPC
  	unsigned int sleep();

--- 256,260 -----
  	static int match();
  	char c;
+ 	static char rc_buf[512];
  #ifdef UNIXPC
  	unsigned int sleep();
***************
*** 394,398
   */
  
! void
  do_pause()
  {

--- 401,405 -----
   */
  
! static void
  do_pause()
  {
*** old/ls_menu.c	Fri Nov 16 14:51:27 1990
--- ls_menu.c	Sun Dec 30 14:05:32 1990
***************
*** 21,25
  	WINDOW *l_win, *newwin();
  	int num, ret_code;
! 	void disp_settings();
  
  	l_win = newwin(20, 47, 0, 16);

--- 21,25 -----
  	WINDOW *l_win, *newwin();
  	int num, ret_code;
! 	static void disp_settings();
  
  	l_win = newwin(20, 47, 0, 16);
*** old/macro.c	Fri Nov 16 14:51:27 1990
--- macro.c	Sun Dec 30 14:05:58 1990
***************
*** 17,21
  	WINDOW *ma_win, *newwin();
  	int ans, changed;
! 	char *mac, *str_rep(), *mac_prompt();
  
  	ma_win = newwin(18, 65, 2, 15);

--- 17,22 -----
  	WINDOW *ma_win, *newwin();
  	int ans, changed;
! 	char *mac, *str_rep();
! 	static char *mac_prompt();
  
  	ma_win = newwin(18, 65, 2, 15);
*** old/main.c	Fri Nov 16 14:51:27 1990
--- main.c	Sun Dec 30 15:35:52 1990
***************
*** 22,25
   *	Patch #8	20 Jan 90
   *	Patch #9	 1 Sep 90
   */
  

--- 22,26 -----
   *	Patch #8	20 Jan 90
   *	Patch #9	 1 Sep 90
+  *	Patch #10	30 Dec 90
   */
  
***************
*** 72,76
  {
  	extern char *optarg;
! 	int c, i, code, quit();
  	char *mytty, *ttyname(), *term, *getenv(), *sys_name, *str_dup();
  	char *extra_dir, buf[80], message[80];

--- 73,78 -----
  {
  	extern char *optarg;
! 	int c, i, code;
! 	static int quit(), match_ci();
  	char *mytty, *ttyname(), *term, *getenv(), *sys_name, *str_dup();
  	char *extra_dir, buf[80], message[80];
***************
*** 223,227
   */
  
! int
  quit()
  {

--- 225,229 -----
   */
  
! static int
  quit()
  {
***************
*** 326,329
   */
  
  match_ci(s1, s2)
  char *s1, *s2;

--- 328,332 -----
   */
  
+ static int
  match_ci(s1, s2)
  char *s1, *s2;
*** old/passthru.c	Fri Nov 16 14:51:28 1990
--- passthru.c	Sun Dec 30 14:07:15 1990
***************
*** 22,26
  	WINDOW *pt_win, *newwin();
  	int num;
! 	void cpio(), error_win();
  
  	pt_win = newwin(5, 70, 5, 5);

--- 22,27 -----
  	WINDOW *pt_win, *newwin();
  	int num;
! 	void error_win();
! 	static void cpio();
  
  	pt_win = newwin(5, 70, 5, 5);
***************
*** 80,84
  {
  	extern int fd;
! 	int cpid, n, cp_force();
  	char buf[CLIST_SIZ];
  	unsigned int alarm(), sleep();

--- 81,86 -----
  {
  	extern int fd;
! 	int cpid, n;
! 	static int cp_force();
  	char buf[CLIST_SIZ];
  	unsigned int alarm(), sleep();
*** old/port.c	Fri Nov 16 14:51:28 1990
--- port.c	Sun Dec 30 14:08:37 1990
***************
*** 27,30
  #endif /* XENIX_LOCKS */
  
  static int getty_status = 0;
  static char *lock_path = NULL;

--- 27,36 -----
  #endif /* XENIX_LOCKS */
  
+ #ifdef SVR4_LOCKS
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <sys/mkdev.h>
+ #endif /* SVR4_LOCKS */
+ 
  static int getty_status = 0;
  static char *lock_path = NULL;
***************
*** 41,44
  	register int i;
  	int j, k, lfd, list[NUM_TTY], cmask, is_dev, progpid;
  	char file[80], buf[80], message[80], *str_rep(), *last_c;
  	void error_win(), line_set(), release_port(), send_str();

--- 47,51 -----
  	register int i;
  	int j, k, lfd, list[NUM_TTY], cmask, is_dev, progpid;
+ 	static int set_getty(), checklock(), ck_speed();
  	char file[80], buf[80], message[80], *str_rep(), *last_c;
  	void error_win(), line_set(), release_port(), send_str();
***************
*** 117,120
  	while (list[i] != -1) {
  					/* create a lock file name */
  		sprintf(file, "%s/LCK..%s", LOCK_DIR, modem->tty[list[i]]);
  

--- 124,133 -----
  	while (list[i] != -1) {
  					/* create a lock file name */
+ #ifdef SVR4_LOCKS
+ 		struct stat sbuf;
+ 		sprintf(buf, "/dev/%s", modem->tty[list[i]]);
+ 		stat(buf, &sbuf);
+ 		sprintf(file, "%s/LK.%03d.%03d.%03d", LOCK_DIR, major(sbuf.st_dev), major(sbuf.st_rdev), minor(sbuf.st_rdev));
+ #else /* SVR4_LOCKS */
  		sprintf(file, "%s/LCK..%s", LOCK_DIR, modem->tty[list[i]]);
  #endif /* SVR4_LOCKS */
***************
*** 118,121
  					/* create a lock file name */
  		sprintf(file, "%s/LCK..%s", LOCK_DIR, modem->tty[list[i]]);
  
  #ifdef XENIX_LOCKS

--- 131,135 -----
  #else /* SVR4_LOCKS */
  		sprintf(file, "%s/LCK..%s", LOCK_DIR, modem->tty[list[i]]);
+ #endif /* SVR4_LOCKS */
  
  #ifdef XENIX_LOCKS
***************
*** 211,215
  	extern char *null_ptr;
  	char buf[80];
! 	void free_ptr(), hang_up(), reset_line();
  
  	/*

--- 225,229 -----
  	extern char *null_ptr;
  	char buf[80];
! 	void free_ptr(), hang_up(), reset_line(), error_win();
  
  	/*
***************
*** 367,370
  	int i, mod;
  	char buf[60];
  					/* find the modem database */
  	mod = -1;

--- 381,385 -----
  	int i, mod;
  	char buf[60];
+ 	void error_win();
  					/* find the modem database */
  	mod = -1;
*** old/s_extrnl.c	Fri Nov 16 14:51:28 1990
--- s_extrnl.c	Sun Dec 30 14:09:38 1990
***************
*** 16,19
  	WINDOW *ext_win, *newwin();
  	int i, ret_code;
  	char *str, *get_str();
  	void disp_ext();

--- 16,20 -----
  	WINDOW *ext_win, *newwin();
  	int i, ret_code;
+ 	static int ext_prompt();
  	char *str, *get_str();
  	static void disp_ext();
***************
*** 17,21
  	int i, ret_code;
  	char *str, *get_str();
! 	void disp_ext();
  
  	ext_win = newwin(23, 80, 0, 0);

--- 18,22 -----
  	static int ext_prompt();
  	char *str, *get_str();
! 	static void disp_ext();
  
  	ext_win = newwin(23, 80, 0, 0);
*** old/s_gen.c	Fri Nov 16 14:51:28 1990
--- s_gen.c	Sun Dec 30 13:08:16 1990
***************
*** 95,98
  					ret_code++;
  				}
  			case 9:
  				if ((ans = menu_prompt(g_win, 14, 50, "Aborted downloads", v_abort)) != NULL) {

--- 95,99 -----
  					ret_code++;
  				}
+ 				break;
  			case 9:
  				if ((ans = menu_prompt(g_win, 14, 50, "Aborted downloads", v_abort)) != NULL) {
*** old/s_menu.c	Fri Nov 16 14:51:28 1990
--- s_menu.c	Sun Dec 30 15:39:55 1990
***************
*** 17,21
  	int ret_code;
  	static int param_flag = 0, modem_flag = 0, ext_flag = 0;
! 	void top_line();
  
  	s_win = newwin(23, 80, 0, 0);

--- 17,21 -----
  	int ret_code;
  	static int param_flag = 0, modem_flag = 0, ext_flag = 0;
! 	static void top_line();
  
  	s_win = newwin(23, 80, 0, 0);
***************
*** 142,146
   */
  
! void
  top_line(win)
  WINDOW *win;

--- 142,146 -----
   */
  
! static void
  top_line(win)
  WINDOW *win;
*** old/s_modem.c	Fri Nov 16 14:51:29 1990
--- s_modem.c	Sun Dec 30 14:10:31 1990
***************
*** 14,18
  {
  	WINDOW *mo_win, *newwin();
! 	int i, j, ret_code, mod_prompt();
  	char *ans, *str_rep(), *str_prompt(), *menu_prompt();
  	void disp_modem();

--- 14,19 -----
  {
  	WINDOW *mo_win, *newwin();
! 	int i, j, ret_code;
! 	static int mod_prompt();
  	char *ans, *str_rep(), *str_prompt(), *menu_prompt();
  	static void disp_modem();
***************
*** 16,20
  	int i, j, ret_code, mod_prompt();
  	char *ans, *str_rep(), *str_prompt(), *menu_prompt();
! 	void disp_modem();
  	extern char *v_yn[];
  					/* the current modem */

--- 17,21 -----
  	static int mod_prompt();
  	char *ans, *str_rep(), *str_prompt(), *menu_prompt();
! 	static void disp_modem();
  	extern char *v_yn[];
  					/* the current modem */
***************
*** 159,162
  	char ans;
  	int i;
  					/* print prompt lines */
  	mvwaddstr(win, 22, 0, "Press any key to change, or <CR> to accept");

--- 160,164 -----
  	char ans;
  	int i;
+ 	void disp_modem();
  					/* print prompt lines */
  	mvwaddstr(win, 22, 0, "Press any key to change, or <CR> to accept");
*** old/s_tty.c	Fri Nov 16 14:51:29 1990
--- s_tty.c	Sun Dec 30 14:11:42 1990
***************
*** 16,21
  	char message[80], *str, *get_str();
  	int num, i, j, ret_code;
! 	void disp_tty(), create_modem(), del_modem(), error_win();
! 	void del_tty();
  
  	tt_win = newwin(23, 80, 0, 0);

--- 16,22 -----
  	char message[80], *str, *get_str();
  	int num, i, j, ret_code;
! 	static int tty_prompt();
! 	void create_modem(), del_modem(), error_win();
! 	static void disp_tty(), del_tty();
  
  	tt_win = newwin(23, 80, 0, 0);
*** old/script.c	Fri Nov 16 14:51:29 1990
--- script.c	Thu Nov 29 19:06:17 1990
***************
*** 27,30
  
  #ifdef BSD
  #include <sys/file.h>
  #else /* BSD */

--- 27,33 -----
  
  #ifdef BSD
+ #ifndef SIGCLD
+ #define SIGCLD SIGCHLD
+ #endif /* SIGCLD */
  #include <sys/file.h>
  #else /* BSD */
***************
*** 37,41
  {
  	extern int fd, errno;
! 	SIG_TYPE (*istat)(), (*qstat)();
  	int epid, dup_pipe[2], want_out;
  	char buf[80], *ttyname(), *strcpy(), *path, *findfile();

--- 40,44 -----
  {
  	extern int fd, errno;
! 	SIG_TYPE (*istat)(), (*qstat)(), (*cstat)();
  	int epid, dup_pipe[2], want_out;
  	char buf[80], *path, *findfile();
***************
*** 39,43
  	SIG_TYPE (*istat)(), (*qstat)();
  	int epid, dup_pipe[2], want_out;
! 	char buf[80], *ttyname(), *strcpy(), *path, *findfile();
  	void _exit(), error_win(), input_off(), do_input();
  

--- 42,46 -----
  	SIG_TYPE (*istat)(), (*qstat)(), (*cstat)();
  	int epid, dup_pipe[2], want_out;
! 	char buf[80], *path, *findfile();
  	void _exit(), error_win(), input_off(), do_input();
  
***************
*** 78,84
  		setpgrp();
  #endif /* BSD */
- 					/* recreate the device name */
- 		strcpy(buf, ttyname(fd));
- 		close(fd);
  					/* swap the stdin */
  		close(0);

--- 81,84 -----
  		setpgrp();
  #endif /* BSD */
  					/* swap the stdin */
  		close(0);
***************
*** 86,101
  					/* swap the stdout */
  		close(1);
! #ifdef UNIXPC
! /*
!  * Some strange things here... The OBM uses the second parameter of 
!  * open() to determine if the the port should be in the DATA mode or
!  * the VOICE mode.  Therefore, we must always open with read and write.
!  */
! 		if (!strncmp(buf, "/dev/ph", 7))
! 			open(buf, O_RDWR);
! 		else
! #endif /* UNIXPC */
! 
! 		open(buf, O_WRONLY);
  #ifdef SETUGID
  		setgid(getgid());

--- 86,90 -----
  					/* swap the stdout */
  		close(1);
! 		dup(fd);
  #ifdef SETUGID
  		setgid(getgid());
***************
*** 108,111
  	istat = signal(SIGINT, SIG_IGN);
  	qstat = signal(SIGQUIT, SIG_IGN);
  
  	/*

--- 97,101 -----
  	istat = signal(SIGINT, SIG_IGN);
  	qstat = signal(SIGQUIT, SIG_IGN);
+ 	cstat = signal(SIGCLD, SIG_IGN);
  
  	/*
***************
*** 134,138
  			break;
  					/* see if the process it still active */
- #ifdef BSD
  		if ((kill(epid, 0) == -1) && errno == ESRCH) 
  #else /* BSD */

--- 124,127 -----
  			break;
  					/* see if the process it still active */
  		if ((kill(epid, 0) == -1) && errno == ESRCH) 
  			break;
***************
*** 136,142
  #ifdef BSD
  		if ((kill(epid, 0) == -1) && errno == ESRCH) 
- #else /* BSD */
- 		if ((kill(-epid, 0) == -1) && errno == ESRCH) 
- #endif /* BSD */
  			break;
  	}

--- 125,128 -----
  					/* see if the process it still active */
  		if ((kill(epid, 0) == -1) && errno == ESRCH) 
  			break;
  	}
***************
*** 144,147
  	signal(SIGINT, istat);
  	signal(SIGQUIT, qstat);
  					/* shut down the duplication of input */
  	status->dup_fd = -1;

--- 130,134 -----
  	signal(SIGINT, istat);
  	signal(SIGQUIT, qstat);
+ 	signal(SIGCLD, cstat);
  					/* shut down the duplication of input */
  	status->dup_fd = -1;
*** old/terminal.c	Fri Nov 16 14:51:29 1990
--- terminal.c	Fri Nov 16 14:52:59 1990
***************
*** 428,431
  {
  	extern int fd;
  	void send_str(), st_line(), line_set();
  	char buf[80];

--- 428,432 -----
  {
  	extern int fd;
+ 	int junk;
  	void send_str(), st_line(), line_set();
  	char buf[80];
***************
*** 468,472
  		sleep(1);
  		sprintf(buf, "/dev/%s", modem->tty[modem->t_cur]);
! 		close(open(buf, O_RDWR));
  	}
  

--- 469,474 -----
  		sleep(1);
  		sprintf(buf, "/dev/%s", modem->tty[modem->t_cur]);
! 		junk = open(buf, O_RDWR);
! 		close(junk);
  	}
  
*** old/tty_att.c	Fri Nov 16 14:51:29 1990
--- tty_att.c	Sun Dec 30 13:40:34 1990
***************
*** 14,18
  #include "param.h"
  
! struct termio hold;
  
  /*

--- 14,18 -----
  #include "param.h"
  
! static struct termio hold;
  
  /*
***************
*** 126,129
  reset_line()
  {
  	ioctl(fd, TCSETAF, &hold);
  	return;

--- 126,131 -----
  reset_line()
  {
+ 	extern int fd;
+ 
  	ioctl(fd, TCSETAF, &hold);
  	return;
*** old/tty_ucb.c	Fri Nov 16 14:51:30 1990
--- tty_ucb.c	Sun Dec 30 13:40:40 1990
***************
*** 10,14
  #include "param.h"
  
! struct sgttyb hold;
  
  /*

--- 10,14 -----
  #include "param.h"
  
! static struct sgttyb hold;
  
  /*
***************
*** 113,116
  reset_line()
  {
  	ioctl(fd, TIOCSETP, &hold);
  	return;

--- 113,118 -----
  reset_line()
  {
+ 	extern int fd;
+ 
  	ioctl(fd, TIOCSETP, &hold);
  	return;
*** old/vcs.c	Fri Nov 16 14:51:30 1990
--- vcs.c	Sun Dec 30 16:02:17 1990
***************
*** 29,33
  	extern int vcs_codes[NUM_VCS][VCS_SIZE], vcs_leadin[NUM_VCS];
  	extern int num_leadin;
! 	static int vcs_buf[VCS_SIZE];
  	static int ptr = 0;
  	register int i;

--- 29,33 -----
  	extern int vcs_codes[NUM_VCS][VCS_SIZE], vcs_leadin[NUM_VCS];
  	extern int num_leadin;
! 	static int vcs_buf[VCS_SIZE], match_codes();
  	static int ptr = 0;
  	register int i;
***************
*** 186,189
  	extern int vcs_leadin[NUM_VCS], num_leadin, max_row, max_col;
  	int i, j, k, match, temp[VCS_SIZE];
  	char *p, *strcpy(), buf[VCS_SIZE], *getenv();
  	char *tparm();			/* comment out, if required */

--- 186,190 -----
  	extern int vcs_leadin[NUM_VCS], num_leadin, max_row, max_col;
  	int i, j, k, match, temp[VCS_SIZE];
+ 	static int substr();
  	char *p, *strcpy(), buf[VCS_SIZE], *getenv();
  	char *tparm();			/* comment out, if required */
***************
*** 188,192
  	char *p, *strcpy(), buf[VCS_SIZE], *getenv();
  	char *tparm();			/* comment out, if required */
! 	void fake_it();
  
  #ifdef OLDCURSES

--- 189,193 -----
  	char *p, *strcpy(), buf[VCS_SIZE], *getenv();
  	char *tparm();			/* comment out, if required */
! 	static void fake_it();
  
  #ifdef OLDCURSES
***************
*** 457,460
   * the padding removed.
   */
  static void
  fake_it(s)

--- 458,462 -----
   * the padding removed.
   */
+ 
  static void
  fake_it(s)
***************
*** 461,465
  char *s;
  {
! 	int fake_putc();
  
  	putc_cnt = 0;

--- 463,467 -----
  char *s;
  {
! 	static int fake_putc();
  
  	putc_cnt = 0;
*** old/waitfor.c	Fri Nov 16 14:51:30 1990
--- waitfor.c	Sun Dec 30 15:44:51 1990
***************
*** 98,102
  
  /* ARGSUSED */
! static int
  wf_force(dummy)
  int dummy;

--- 98,102 -----
  
  /* ARGSUSED */
! int
  wf_force(dummy)
  int dummy;
*** old/x_ascii.c	Fri Nov 16 14:51:30 1990
--- x_ascii.c	Sun Dec 30 14:24:05 1990
***************
*** 23,27
  	int cr_lf;
  	char *file, *strtok();
! 	void send_ascii(), rcv_ascii(), line_set(), st_line(), suspend();
  	void load_vs(), ascii_mode(), input_off(), term_mode();
  	unsigned int sleep();

--- 23,27 -----
  	int cr_lf;
  	char *file, *strtok();
! 	void line_set(), st_line(), suspend();
  	void load_vs(), ascii_mode(), input_off(), term_mode();
  	static void send_ascii(), rcv_ascii();
***************
*** 25,28
  	void send_ascii(), rcv_ascii(), line_set(), st_line(), suspend();
  	void load_vs(), ascii_mode(), input_off(), term_mode();
  	unsigned int sleep();
  

--- 25,29 -----
  	void line_set(), st_line(), suspend();
  	void load_vs(), ascii_mode(), input_off(), term_mode();
+ 	static void send_ascii(), rcv_ascii();
  	unsigned int sleep();
  
***************
*** 177,180
  	FILE *fp, *my_fopen();
  	int i, strip_cr, strip_lf, add_cr, add_lf, got_first;
  	unsigned int delay;
  	char c, buf[80];

--- 178,182 -----
  	FILE *fp, *my_fopen();
  	int i, strip_cr, strip_lf, add_cr, add_lf, got_first;
+ 	static int bgetc_line();
  	unsigned int delay;
  	char c, buf[80];
***************
*** 260,264
  unsigned int sec;
  {
! 	int c, bl_force();
  	unsigned int alarm();
  

--- 262,267 -----
  unsigned int sec;
  {
! 	int c;
! 	static int buf_read(), bl_force();
  	unsigned int alarm();
  
*** old/x_batch.c	Fri Nov 16 14:51:30 1990
--- x_batch.c	Sun Dec 30 15:34:38 1990
***************
*** 20,24
  char *name;
  {
! 	char *new_name, *fix_name();
  	unsigned char sum, calc_sum();
  

--- 20,25 -----
  char *name;
  {
! 	char *new_name;
! 	static char *fix_name();
  	unsigned char sum, calc_sum();
  
***************
*** 85,89
  	unsigned char sum, calc_sum();
  	char temp_name[13];
! 	void change_name(), unfix_name();
  
  	err_method = default_err;

--- 86,90 -----
  	unsigned char sum, calc_sum();
  	char temp_name[13];
! 	static void change_name(), unfix_name();
  
  	err_method = default_err;
***************
*** 109,112
  				wrefresh(win);
  				err_count++;
  			case ACK:	/* ready to go... */
  				got_it++;

--- 110,114 -----
  				wrefresh(win);
  				err_count++;
+ 				break;
  			case ACK:	/* ready to go... */
  				got_it++;
***************
*** 118,121
  				err_count++;
  		}
  	}
  	if (!got_it)

--- 120,125 -----
  				err_count++;
  		}
+ 		if (got_it)
+ 			break;
  	}
  	if (!got_it)
***************
*** 229,232
  	int code, length_is_at;
  	long atol();
  
  	file_length = 0L;

--- 233,237 -----
  	int code, length_is_at;
  	long atol();
+ 	static void change_name();
  
  	file_length = 0L;
***************
*** 261,265
   */
  
! void
  change_name(win, str)
  WINDOW *win;

--- 266,270 -----
   */
  
! static void
  change_name(win, str)
  WINDOW *win;
***************
*** 323,327
   */
  
! char *
  fix_name(path)
  char *path;

--- 328,332 -----
   */
  
! static char *
  fix_name(path)
  char *path;
***************
*** 368,372
   */
  
! void
  unfix_name(cpm_name)
  char *cpm_name;

--- 373,377 -----
   */
  
! static void
  unfix_name(cpm_name)
  char *cpm_name;
***************
*** 375,379
  	register int i, n;
  	int dot;
! 	char temp[15];
  
  	file_name[0] = '\0';

--- 380,384 -----
  	register int i, n;
  	int dot;
! 	char temp[15], *strcpy();
  
  	file_name[0] = '\0';
*** old/x_extrnl.c	Fri Nov 16 14:51:30 1990
--- x_extrnl.c	Thu Nov 29 19:05:22 1990
***************
*** 20,23
  
  #ifdef BSD
  #include <sys/file.h>
  #else /* BSD */

--- 20,26 -----
  
  #ifdef BSD
+ #ifndef SIGCLD
+ #define SIGCLD SIGCHLD
+ #endif /* SIGCLD */
  #include <sys/file.h>
  #else /* BSD */
***************
*** 31,35
  	extern int fd, errno;
  	WINDOW *xt_win, *newwin();
! 	SIG_TYPE (*istat)(), (*qstat)();
  	int epid, want_out;
  	char buf[80], *ttyname(), *strcpy();

--- 34,38 -----
  	extern int fd, errno;
  	WINDOW *xt_win, *newwin();
! 	SIG_TYPE (*istat)(), (*qstat)(), (*cstat)();
  	int epid, want_out;
  	unsigned int sleep();
***************
*** 33,37
  	SIG_TYPE (*istat)(), (*qstat)();
  	int epid, want_out;
- 	char buf[80], *ttyname(), *strcpy();
  	unsigned int sleep();
  	void _exit(), input_off();

--- 36,39 -----
  	SIG_TYPE (*istat)(), (*qstat)(), (*cstat)();
  	int epid, want_out;
  	unsigned int sleep();
  	void _exit(), input_off();
***************
*** 40,43
  					/* a full window */
  	xt_win = newwin(LINES, COLS, 0, 0);
  	touchwin(xt_win);
  	wrefresh(xt_win);

--- 42,46 -----
  					/* a full window */
  	xt_win = newwin(LINES, COLS, 0, 0);
+ 	nl();
  	touchwin(xt_win);
  	wrefresh(xt_win);
***************
*** 50,56
  		setpgrp();
  #endif /* BSD */
- 					/* recreate the device name */
- 		strcpy(buf, ttyname(fd));
- 		close(fd);
  					/* swap the stdin */
  		close(0);

--- 53,56 -----
  		setpgrp();
  #endif /* BSD */
  					/* swap the stdin */
  		close(0);
***************
*** 55,69
  					/* swap the stdin */
  		close(0);
! #ifdef UNIXPC
! /*
!  * Some strange things here... The OBM uses the second parameter of 
!  * open() to determine if the port should be in the DATA mode or
!  * the VOICE mode.  Therefore, we must always open with read and write.
!  */
! 		if (!strncmp(buf, "/dev/ph", 7))
! 			open(buf, O_RDWR);
! 		else
! #endif /* UNIXPC */
! 		open(buf, O_RDONLY);
  					/* swap the stdout */
  		close(1);

--- 55,59 -----
  					/* swap the stdin */
  		close(0);
! 		dup(fd);
  					/* swap the stdout */
  		close(1);
***************
*** 68,77
  					/* swap the stdout */
  		close(1);
! #ifdef UNIXPC
! 		if (!strncmp(buf, "/dev/ph", 7))
! 			open(buf, O_RDWR);
! 		else
! #endif /* UNIXPC */
! 		open(buf, O_WRONLY);
  #ifdef SETUGID
  		setgid(getgid());

--- 58,62 -----
  					/* swap the stdout */
  		close(1);
! 		dup(fd);
  #ifdef SETUGID
  		setgid(getgid());
***************
*** 83,86
  	istat = signal(SIGINT, SIG_IGN);
  	qstat = signal(SIGQUIT, SIG_IGN);
  
  	/*

--- 68,72 -----
  	istat = signal(SIGINT, SIG_IGN);
  	qstat = signal(SIGQUIT, SIG_IGN);
+ 	cstat = signal(SIGCLD, SIG_IGN);
  
  	/*
***************
*** 109,113
  			break;
  					/* see if the process it still active */
- #ifdef BSD
  		if ((kill(epid, 0) == -1) && errno == ESRCH) 
  #else /* BSD */

--- 95,98 -----
  			break;
  					/* see if the process it still active */
  		if ((kill(epid, 0) == -1) && errno == ESRCH) 
  			break;
***************
*** 111,117
  #ifdef BSD
  		if ((kill(epid, 0) == -1) && errno == ESRCH) 
- #else /* BSD */
- 		if ((kill(-epid, 0) == -1) && errno == ESRCH) 
- #endif /* BSD */
  			break;
  	}

--- 96,99 -----
  					/* see if the process it still active */
  		if ((kill(epid, 0) == -1) && errno == ESRCH) 
  			break;
  	}
***************
*** 119,122
  	signal(SIGINT, istat);
  	signal(SIGQUIT, qstat);
  					/* the tty may have been clobbered */
  	sleep(1);

--- 101,105 -----
  	signal(SIGINT, istat);
  	signal(SIGQUIT, qstat);
+ 	signal(SIGCLD, cstat);
  					/* the tty may have been clobbered */
  	sleep(1);
***************
*** 122,125
  	sleep(1);
  	fixterm();
  
  	clearok(curscr, TRUE);

--- 105,109 -----
  	sleep(1);
  	fixterm();
+ 	nonl();
  
  	clearok(curscr, TRUE);
*** old/x_menu.c	Fri Nov 16 14:51:30 1990
--- x_menu.c	Sun Dec 30 14:14:34 1990
***************
*** 21,26
  	extern char *null_ptr;
  	WINDOW *xm_win, *newwin();
! 	char buf[2048], *list, *get_names(), *get_extrnl(), *strcat();
! 	char *strcpy();
  	int type, is_batch, i, ans, num_extrnl, n, ret_code;
  	void xfer_win(), xfer_ascii(), do_extrnl(), error_win();

--- 21,26 -----
  	extern char *null_ptr;
  	WINDOW *xm_win, *newwin();
! 	char buf[2048], *list, *strcat(), *strcpy();
! 	static char *get_names(), *get_extrnl();
  	int type, is_batch, i, ans, num_extrnl, n, ret_code;
  	void xfer_win(), xfer_ascii(), do_extrnl(), error_win();
*** old/x_rcv.c	Fri Nov 16 14:51:30 1990
--- x_rcv.c	Sun Dec 30 14:15:17 1990
***************
*** 29,32
  	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;

--- 29,33 -----
  	int i, default_err, is_batch, max_block, code, file_count, got_hdr;
  	int hours, mins, secs, len;
+ 	static int send_first();
  	long block, recv, partial;
  	float percent, performance;
*** old/x_send.c	Fri Nov 16 14:51:30 1990
--- x_send.c	Sun Dec 30 14:15:56 1990
***************
*** 27,30
  	int small_blocks, err_count, got_it, num, is_batch, code;
  	int max_block, default_err;
  	long size, block, sent, xmit_size;
  	char *file, *strtok(), *name, *strrchr();

--- 27,31 -----
  	int small_blocks, err_count, got_it, num, is_batch, code;
  	int max_block, default_err;
+ 	static int rcv_first();
  	long size, block, sent, xmit_size;
  	char *file, *strtok(), *name, *strrchr();
***************
*** 445,448
  	int i, err_count;
  	void cancel_xfer();
  
  	err_count = 0;

--- 446,450 -----
  	int i, err_count;
  	void cancel_xfer();
+ 	unsigned int sleep();
  
  	err_count = 0;
*** old/xmodem.c	Fri Nov 16 14:51:31 1990
--- xmodem.c	Sun Dec 30 15:35:20 1990
***************
*** 101,105
  {
  	extern int fd;
! 	int gl_force();
  	char c;
  	unsigned int alarm();

--- 101,105 -----
  {
  	extern int fd;
! 	static int gl_force();
  	char c;
  	unsigned int alarm();
***************
*** 151,155
  {
  	extern int fd;
! 	int n, rl_force();
  	unsigned int try, alarm();
  

--- 151,156 -----
  {
  	extern int fd;
! 	int n;
! 	static int rl_force();
  	unsigned int try, alarm();
  
***************
*** 242,245
  	FILE *fp, *tempfp, *my_fopen();
  	register int num;
  	char *mktemp(), tempfile[128], buf[BUFSIZ], *strcpy();
  	char *s, *strrchr(), *strcat();

--- 243,247 -----
  	FILE *fp, *tempfp, *my_fopen();
  	register int num;
+ 	static int uid_link(), uid_unlink();
  	char *mktemp(), tempfile[128], buf[BUFSIZ], *strcpy();
  	char *s, *strrchr(), *strcat();
***************
*** 301,304
  }
  
  uid_link(path1, path2)
  char *path1, *path2;

--- 303,307 -----
  }
  
+ static int
  uid_link(path1, path2)
  char *path1, *path2;
***************
*** 342,345
  }
  
  uid_unlink(path)
  char *path;

--- 345,349 -----
  }
  
+ static int
  uid_unlink(path)
  char *path;
End of Patch

Emmet P. Gray				US Army, HQ III Corps & Fort Hood
...!uunet!uiucuxc!fthood!egray		Attn: AFZF-DE-ENV
fthood!egray@uxc.cso.uiuc.edu		Directorate of Engineering & Housing
					Environmental Management Office
					Fort Hood, TX 76544-5057

hv@uwasa.fi (Harri Valkama LAKE) (01/01/91)

In article <1854@overlf.UUCP> emanuele@overlf.UUCP (Mark A. Emanuele) writes:
>I tried to ftp the sources from 129.229.1.101 but the patch shar was corrupted.
>and I need Patch 9 .

You can find the whole pcomm.tar.Z from Simtel's Unix dirs.

...............................................................

Listing created on Tuesday, October 30, 1990 20:53:35

"PD2:","<UNIX-C.TELECOM>","PCOMM.TAR-Z",1,193423,8,900202,""

...............................................................

-- 
== Harri Valkama, University of Vaasa, Finland ===========================
P.O. Box 700, 65101 VAASA, Finland (tel:+358 61 248426 fax:+358 61 248465)
email: hv@garbo.uwasa.fi   hv@nic.funet.fi   harri.valkama@wmac00.uwasa.fi
Anonymous ftp chyde.uwasa.fi (128.214.12.3) & nic.funet.fi (128.214.6.100)