From pa.dec.com!decwrl!uunet!sparky!kent Sun Aug 18 09:20:24 PDT 1991
Article: 2641 of comp.sources.misc
Newsgroups: comp.sources.misc
Path: pa.dec.com!decwrl!uunet!sparky!kent
From: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
Subject:  v22i020:  ecu - ECU async comm package rev 3.10, Patch01b/3
Message-ID: <1991Aug16.020607.13061@sparky.IMD.Sterling.COM>
X-Md4-Signature: 7aacd3fdac4d35132e43109c609324b7
Sender: kent@sparky.IMD.Sterling.COM (Kent Landfield)
Organization: Sterling Software, IMD
References: <csm-v22i019=ecu.210425@sparky.imd.sterling.com>
Date: Fri, 16 Aug 1991 02:06:07 GMT
Approved: kent@sparky.imd.sterling.com
Lines: 1961

Submitted-by: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
Posting-number: Volume 22, Issue 20
Archive-name: ecu/patch01b
Environment: SCO, XENIX, ISC
Patch-To: ecu: Volume 21, Issue 53-89

#!/bin/sh
# This is part 02 of ecu310-p1
if touch 2>&1 | fgrep 'amc' > /dev/null
 then TOUCH=touch
 else TOUCH=true
fi
# ============= PATCH1.02 ==============
echo 'x - extracting PATCH1.02 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'PATCH1.02' &&
X:
X#-------------------------------------------------------
X# PATCH1.02
X# Fixes and ISC Compatibility
X# created by gendiff x1.03 on 12 Aug 1991 08:01 UTC
X#-------------------------------------------------------
X*** /u1/src/ecu310/ecusetup.c	Thu Jul 25 12:56:00 1991
X--- ecusetup.c	Mon Aug 12 03:59:36 1991
X***************
X*** 34,39
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
X  /*:06-05-1991-18:07-wht@n4hgf-rework */
X
X--- 34,40 -----
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-12-1991-00:58-wht@n4hgf-ISC tty names */
X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
X  /*:06-05-1991-18:07-wht@n4hgf-rework */
X***************
X*** 72,77
X  #define DESCR_LX	3
X  
X  #define TTY_Y		6
X  #define TTY_X		16
X  #define TTY_LEN		5
X  #define TTY_LX		3
X
X--- 73,79 -----
X  #define DESCR_LX	3
X  
X  #define TTY_Y		6
X+ #if defined(M_SYSV)
X  #define TTY_X		16
X  #define TTY_LEN		5
X  #else
X***************
X*** 74,79
X  #define TTY_Y		6
X  #define TTY_X		16
X  #define TTY_LEN		5
X  #define TTY_LX		3
X  
X  #define TTYOPN_LY	6
X
X--- 76,90 -----
X  #if defined(M_SYSV)
X  #define TTY_X		16
X  #define TTY_LEN		5
X+ #else
X+ #if defined(ISC)
X+ #define TTY_X		13
X+ #define TTY_LEN		8
X+ #else
X+ #	include "porting.attention.needed.here"
X+ #endif /* ISC */
X+ #endif /* M_SYSV */
X+ 
X  #define TTY_LX		3
X  
X  #define TTYOPN_LY	6
X***************
X*** 240,245
X  setup_display_tty()
X  {
X  	clear_area(setw,TTY_Y,TTY_X,TTY_LEN);
X  	waddstr(setw,&shm->Lline[8]);
X  }	/* end of setup_display_tty */
X  
X
X--- 251,257 -----
X  setup_display_tty()
X  {
X  	clear_area(setw,TTY_Y,TTY_X,TTY_LEN);
X+ #if defined(M_SYSV)
X  	waddstr(setw,&shm->Lline[8]);
X  #else
X  #if defined(ISC)
X***************
X*** 241,246
X  {
X  	clear_area(setw,TTY_Y,TTY_X,TTY_LEN);
X  	waddstr(setw,&shm->Lline[8]);
X  }	/* end of setup_display_tty */
X  
X  /*+-------------------------------------------------------------------------
X
X--- 253,266 -----
X  	clear_area(setw,TTY_Y,TTY_X,TTY_LEN);
X  #if defined(M_SYSV)
X  	waddstr(setw,&shm->Lline[8]);
X+ #else
X+ #if defined(ISC)
X+ 	waddstr(setw,&shm->Lline[5]);
X+ #else
X+ #	include "porting.attention.needed.here"
X+ #endif /* ISC */
X+ #endif /* M_SYSV */
X+ 
X  }	/* end of setup_display_tty */
X  
X  /*+-------------------------------------------------------------------------
X***************
X*** 464,469
X  				break;
X  
X  			case 1:
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X  				setup_display_tty();
X  				strcpy(s80,&shm->Lline[8]);
X
X--- 484,490 -----
X  				break;
X  
X  			case 1:
X+ #if defined(M_SYSV)
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X  #define _TTYPOS 8
X  #else
X***************
X*** 465,470
X  
X  			case 1:
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X  				setup_display_tty();
X  				strcpy(s80,&shm->Lline[8]);
X   				itmp = wingets(setw,TTY_Y,TTY_X,s80,TTY_LEN + 1,&delim,
X
X--- 486,501 -----
X  			case 1:
X  #if defined(M_SYSV)
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X+ #define _TTYPOS 8
X+ #else
X+ #if defined(ISC)
X+ 				setw_bot_msg("comm line: i.e., acu00, tty00");
X+ #define _TTYPOS 5
X+ #else
X+ #	include "porting.attention.needed.here"
X+ #endif /* ISC */
X+ #endif /* M_SYSV */
X+ 
X  				setup_display_tty();
X  				strcpy(s80,&shm->Lline[_TTYPOS]);
X   				itmp = wingets(setw,TTY_Y,TTY_X,s80,TTY_LEN + 1,&delim,
X***************
X*** 466,472
X  			case 1:
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X  				setup_display_tty();
X! 				strcpy(s80,&shm->Lline[8]);
X   				itmp = wingets(setw,TTY_Y,TTY_X,s80,TTY_LEN + 1,&delim,
X  					1,(int *)0);
X  				setw_err_msg("");
X
X--- 497,503 -----
X  #endif /* M_SYSV */
X  
X  				setup_display_tty();
X! 				strcpy(s80,&shm->Lline[_TTYPOS]);
X   				itmp = wingets(setw,TTY_Y,TTY_X,s80,TTY_LEN + 1,&delim,
X  					1,(int *)0);
X  				setw_err_msg("");
X***************
X*** 471,477
X  					1,(int *)0);
X  				setw_err_msg("");
X  				if(strchr(use_input_delim,delim))
X! 					strcpy(&shm->Lline[8],s80);
X  				setup_display_tty();
X  				break;
X  
X
X--- 502,508 -----
X  					1,(int *)0);
X  				setw_err_msg("");
X  				if(strchr(use_input_delim,delim))
X! 					strcpy(&shm->Lline[_TTYPOS],s80);
X  				setup_display_tty();
X  				break;
X  
X*** /u1/src/ecu310/ecushm.c	Thu Jul 25 12:56:00 1991
X--- ecushm.c	Sat Aug 10 17:54:56 1991
X***************
X*** 34,41
X  #define SHMR_SET_XMTR_BN1		1	/* set want_bell_notify to 1 */
X  
X  extern int want_bell_notify;
X- extern int rcvr_pid;
X- extern int xmtr_pid;
X  extern char rcvr_log_file[];	/* if rcvr_log!= 0,log filename */
X  extern int rcvr_log;			/* rcvr log active if != 0 */
X  extern FILE *rcvr_log_fp;		/* rcvr log file */
X
X--- 34,39 -----
X  #define SHMR_SET_XMTR_BN1		1	/* set want_bell_notify to 1 */
X  
X  extern int want_bell_notify;
X  extern char rcvr_log_file[];	/* if rcvr_log!= 0,log filename */
X  extern int rcvr_log;			/* rcvr log active if != 0 */
X  extern FILE *rcvr_log_fp;		/* rcvr log file */
X*** /u1/src/ecu310/ecuungetty/Make.src	Thu Jul 25 12:57:00 1991
X--- ecuungetty/Make.src	Wed Aug  7 14:18:34 1991
X***************
X*** 4,10
X  #
X  # must be root to run make install
X  #----------------------------------------------------------------
X! #+:EDITS:*/
X  #:07-25-1991-12:57-wht@n4hgf-ECU release 3.10
X  #:04-21-1991-12:05-wht@n4hgf-convert to Make.src
X  
X
X--- 4,10 -----
X  #
X  # must be root to run make install
X  #----------------------------------------------------------------
X! #+:EDITS
X  #:07-25-1991-12:57-wht@n4hgf-ECU release 3.10
X  #:04-21-1991-12:05-wht@n4hgf-convert to Make.src
X  
X*** /u1/src/ecu310/ecuutil.c	Thu Jul 25 12:57:00 1991
X--- ecuutil.c	Tue Aug  6 15:05:37 1991
X***************
X*** 747,752
X  /*+-------------------------------------------------------------------------
X  	ascii_to_hex(ascii)
X  --------------------------------------------------------------------------*/
X  ascii_to_hex(ascii)
X  char *ascii;
X  {
X
X--- 747,753 -----
X  /*+-------------------------------------------------------------------------
X  	ascii_to_hex(ascii)
X  --------------------------------------------------------------------------*/
X+ int
X  ascii_to_hex(ascii)
X  char *ascii;
X  {
X*** /u1/src/ecu310/ecuwinutil.c	Thu Jul 25 12:57:00 1991
X--- ecuwinutil.c	Tue Aug  6 15:05:37 1991
X***************
X*** 16,21
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X  
X
X--- 16,22 -----
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-01-1991-03:52-wht@n4hgf-when editing string, set cursor to end */
X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X  
X***************
X*** 242,248
X  This procedure reads a string from win and returns the number
X  of characters read.
X  
X! If edit is non-zero and pstrpos is not null, the inital string
X  position is set by dereferencing the pointer.
X  
X  The terminating delim is returned in 'delim'.
X
X--- 243,249 -----
X  This procedure reads a string from win and returns the number
X  of characters read.
X  
X! If edit is non-zero and pwgpos is not null, the inital string
X  position is set by dereferencing the pointer.
X  
X  The terminating delim is returned in 'delim'.
X***************
X*** 247,253
X  
X  The terminating delim is returned in 'delim'.
X  
X! If pstrpos is not null, the ending string position is returned in
X  the integer pointed to.
X  
X  -1 is returned if an ESCape is typed by the keyboard user,
X
X--- 248,254 -----
X  
X  The terminating delim is returned in 'delim'.
X  
X! If pwgpos is not null, the ending string position is returned in
X  the integer pointed to.
X  
X  -1 is returned if an ESCape is typed by the keyboard user,
X***************
X*** 256,262
X  The entired line must be contained on one line (no line wrap supported).
X  --------------------------------------------------------------------------*/
X  int
X! wingets(win,y,x,buf,bufsize,delim,edit,pstrpos)
X  WINDOW *win;
X  int y;
X  register x;
X
X--- 257,263 -----
X  The entired line must be contained on one line (no line wrap supported).
X  --------------------------------------------------------------------------*/
X  int
X! wingets(win,y,x,buf,bufsize,delim,edit,pwgpos)
X  WINDOW *win;
X  int y;
X  register x;
X***************
X*** 264,270
X  int bufsize;	/* includes room for null..field is 1 less */
X  register uchar *delim;
X  int edit;
X! int *pstrpos;
X  {
X  register count = 0;
X  register pos = 0;
X
X--- 265,271 -----
X  int bufsize;	/* includes room for null..field is 1 less */
X  register uchar *delim;
X  int edit;
X! int *pwgpos;
X  {
X  register count = 0;
X  register pos = 0;
X***************
X*** 277,283
X  	{
X  		waddstr(win,buf);
X  		count = pos = strlen(buf);
X! 		if(pstrpos)
X  		{
X  			pos = *pstrpos;
X  			if((pos < 0) || (pos > count))
X
X--- 278,284 -----
X  	{
X  		waddstr(win,buf);
X  		count = pos = strlen(buf);
X! 		if(pwgpos)
X  		{
X  			pos = *pwgpos;
X  			if((pos < 0) || (pos > count))
X***************
X*** 279,285
X  		count = pos = strlen(buf);
X  		if(pstrpos)
X  		{
X! 			pos = *pstrpos;
X  			if((pos < 0) || (pos > count))
X  				pos = count;
X  		}
X
X--- 280,286 -----
X  		count = pos = strlen(buf);
X  		if(pwgpos)
X  		{
X! 			pos = *pwgpos;
X  			if((pos < 0) || (pos > count))
X  				pos = count;
X  		}
X***************
X*** 388,395
X  	}	/* end of while can get character */
X  
X  RETURN:
X! 	if(pstrpos)
X! 		*pstrpos = pos;
X  	return(rtn_val);
X  
X  }	/* end of wingets */
X
X--- 389,396 -----
X  	}	/* end of while can get character */
X  
X  RETURN:
X! 	if(pwgpos)
X! 		*pwgpos = pos;
X  	return(rtn_val);
X  
X  }	/* end of wingets */
X*** /u1/src/ecu310/expresp.c	Thu Jul 25 12:57:00 1991
X--- expresp.c	Tue Aug  6 15:05:37 1991
X***************
X*** 26,31
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X
X--- 26,34 -----
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-01-1991-05:00-wht@n4hgf-\n sent CR not NL */
X+ /*:08-01-1991-04:31-wht@n4hgf-nap min of hzmsec if \m */
X+ /*:08-01-1991-04:22-wht@n4hgf-detect NULL expect string */
X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X***************
X*** 74,79
X  	int itmp;
X  	long atol();
X  
X  	if(old_ttymode != 2)
X  		ttymode(2);
X  
X
X--- 77,88 -----
X  	int itmp;
X  	long atol();
X  
X+ 	if(!str)
X+ 	{
X+ 		ERDEBUG(2,"expect string NULL\n",0);
X+ 		return(eExpectRespondFail);
X+ 	}
X+ 
X  	if(old_ttymode != 2)
X  		ttymode(2);
X  
X***************
X*** 129,135
X  	}
X  
X  	cptr = str;
X! 	while(remaining)
X  	{
X  		if(*cptr == '\\')
X  		{
X
X--- 138,144 -----
X  	}
X  
X  	cptr = str;
X! 	while(remaining && *cptr)
X  	{
X  		if(*cptr == '\\')
X  		{
X***************
X*** 174,180
X  	}
X  	*parsed = 0;
X  
X! 	if(remaining)
X  		ERDEBUG(1," expect string too long\n",0);
X  
X  	if(expresp_verbosity >= 3)
X
X--- 183,189 -----
X  	}
X  	*parsed = 0;
X  
X! 	if(!remaining)
X  		ERDEBUG(1," expect string too long\n",0);
X  
X  	if(expresp_verbosity >= 3)
X***************
X*** 244,250
X  					ltmp = atol(str + 1);
X  					str += strspn(str + 1,"0123456789");
X  					ldraino(0);	/* wait for output to drain */
X! 					nap(ltmp);
X  					break;
X  				case 'd':  /* delay (2 seconds) */
X  					ldraino(0);	/* wait for output to drain */
X
X--- 253,259 -----
X  					ltmp = atol(str + 1);
X  					str += strspn(str + 1,"0123456789");
X  					ldraino(0);	/* wait for output to drain */
X! 					nap((ltmp < hzmsec) ? hzmsec : ltmp);
X  					break;
X  				case 'd':  /* delay (2 seconds) */
X  					ldraino(0);	/* wait for output to drain */
X***************
X*** 281,287
X  					send_no_cr = 1;
X  					break;
X  				case 'n':  /* send new-line */
X! 					lputc(0x0D);
X  					break;
X  			}
X  
X
X--- 290,296 -----
X  					send_no_cr = 1;
X  					break;
X  				case 'n':  /* send new-line */
X! 					lputc(0x0A);
X  					break;
X  			}
X  
X***************
X*** 323,328
X  	expresp_echo_check = 0;
X  	last_Speed_result[0] = 0;
X  
X  	strncpy(expresp_copy,expresp_script,sizeof(expresp_copy));
X  	build_arg_array(expresp_copy,fields,MAX_FIELDS,&nfields);
X  	if(!nfields)	/* if no script, assume success */
X
X--- 332,340 -----
X  	expresp_echo_check = 0;
X  	last_Speed_result[0] = 0;
X  
X+ 	ERDEBUG(2,"[EXPECT/RESPOND INITIAL TIMEOUT %ld MSEC]\n",
X+ 		expect_timeout_msecs);
X+ 
X  	strncpy(expresp_copy,expresp_script,sizeof(expresp_copy));
X  	build_arg_array(expresp_copy,fields,MAX_FIELDS,&nfields);
X  	if(!nfields)	/* if no script, assume success */
X***************
X*** 338,344
X  		if(EXPECT_STATE)
X  		{
X  			expect_this = fields[ifields];
X! 			while(1)	/* until break or return(-1) */
X  			{
X  				if(send_on_fail = strchr(expect_this,'-'))
X  					*send_on_fail++ = 0;
X
X--- 350,356 -----
X  		if(EXPECT_STATE)
X  		{
X  			expect_this = fields[ifields];
X! 			while(1)	/* until break or return(error) */
X  			{
X  				if(send_on_fail = strchr(expect_this,'-'))
X  					*send_on_fail++ = 0;
X*** /u1/src/ecu310/hdbintf.c	Thu Jul 25 12:58:00 1991
X--- hdbintf.c	Mon Aug 12 02:44:14 1991
X***************
X*** 30,35
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X  /*:06-02-1991-17:42-wht@n4hgf-add getdvtype */
X  /*:06-02-1991-17:27-wht@n4hgf-add choose_device plus move choose_line here */
X
X--- 30,36 -----
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-10-1991-17:39-wht@n4hgf-US_WEGOTIT handling */
X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X  /*:06-02-1991-17:42-wht@n4hgf-add getdvtype */
X  /*:06-02-1991-17:27-wht@n4hgf-add choose_device plus move choose_line here */
X***************
X*** 65,72
X  FILE *fpdl = NULL;
X  char *Devices_file = "/usr/lib/uucp/Devices";
X  char *Dialers_file = "/usr/lib/uucp/Dialers";
X- char *ungetty = (char *)0;
X- char ungetty_executable[128];
X  char ungetty_ttyname[64] = "";
X  
X  /*+-------------------------------------------------------------------------
X
X--- 66,71 -----
X  FILE *fpdl = NULL;
X  char *Devices_file = "/usr/lib/uucp/Devices";
X  char *Dialers_file = "/usr/lib/uucp/Dialers";
X  char ungetty_ttyname[64] = "";
X  
X  /*+-------------------------------------------------------------------------
X***************
X*** 75,83
X  ungetty_get_line()
X  {
X  int itmp;
X- #if defined(LOG_UNGETTY)
X- char ungetty_log[80];
X- #endif
X  int ungetty_pid;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status;
X
X--- 74,79 -----
X  ungetty_get_line()
X  {
X  int itmp;
X  int ungetty_pid;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status;
X***************
X*** 81,86
X  int ungetty_pid;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status;
X  char bamboozlement[20];
X  char *bamboozle();
X  
X
X--- 77,86 -----
X  int ungetty_pid;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status;
X+ char ungetty[128];
X+ #if defined(LOG_UNGETTY)
X+ char ungetty_log[80];
X+ #endif
X  char bamboozlement[20];
X  char *bamboozle();
X  
X***************
X*** 87,98
X  	if(!there_is_hdb_on_this_machine)
X  		return(LOPEN_ENABLED);
X  
X! 	if(!ungetty)
X! 	{
X! 		sprintf(ungetty_executable,"%s/ecuungetty",ECULIBDIR);
X! 		ungetty = ungetty_executable;
X! 	}
X! 
X  	strcpy(bamboozlement,bamboozle(getpid()));
X  	if(access(ungetty,1))
X  	{
X
X--- 87,93 -----
X  	if(!there_is_hdb_on_this_machine)
X  		return(LOPEN_ENABLED);
X  
X! 	sprintf(ungetty,"%s/ecuungetty",ECULIBDIR);
X  	strcpy(bamboozlement,bamboozle(getpid()));
X  	if(access(ungetty,1))
X  	{
X***************
X*** 149,154
X  int itmp;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status = 0xDEAD;
X  #if defined(LOG_UNGETTY)
X  char ungetty_log[80];
X  #endif
X
X--- 144,150 -----
X  int itmp;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status = 0xDEAD;
X+ char ungetty[128];
X  #if defined(LOG_UNGETTY)
X  char ungetty_log[80];
X  #endif
X***************
X*** 163,168
X  	strcpy(bamboozlement,bamboozle(getpid()));
X  
X  	/* call ungetty to see if we need to switch to dialin */
X  	if(access(ungetty,1))
X  	{
X  		pperror(ungetty);
X
X--- 159,166 -----
X  	strcpy(bamboozlement,bamboozle(getpid()));
X  
X  	/* call ungetty to see if we need to switch to dialin */
X+ 	sprintf(ungetty,"%s/ecuungetty",ECULIBDIR);
X+ 	strcpy(bamboozlement,bamboozle(getpid()));
X  	if(access(ungetty,1))
X  	{
X  		pperror(ungetty);
X***************
X*** 548,553
X  {
X  struct dvent *dve = (struct dvent *)0;
X  char s32[32];
X  
X  #ifdef CHOOSE_DEBUG
X  	pprintf("\nchoose_line baud=%u\n",baud);
X
X--- 546,552 -----
X  {
X  struct dvent *dve = (struct dvent *)0;
X  char s32[32];
X+ int itmp;
X  
X  #ifdef CHOOSE_DEBUG
X  	pprintf("\nchoose_line baud=%u\n",baud);
X***************
X*** 587,593
X  	switch(utmp_status(shm->Lline))
X  	{
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 			if(line_locked(shm->Lline))
X  				goto GET_LINE_THAT_MATCHES_BAUD;
X  		case US_LOGIN:		/* enabled for login, idle */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X
X--- 586,592 -----
X  	switch(utmp_status(shm->Lline))
X  	{
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 			if((itmp = line_locked(shm->Lline)) && (itmp != LOPEN_WE_GOT_IT))
X  				goto GET_LINE_THAT_MATCHES_BAUD;
X  		case US_LOGIN:		/* enabled for login, idle */
X  		case US_WEGOTIT:	/* we already have the line */
X***************
X*** 590,595
X  			if(line_locked(shm->Lline))
X  				goto GET_LINE_THAT_MATCHES_BAUD;
X  		case US_LOGIN:		/* enabled for login, idle */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X  				return;
X  	}
X
X--- 589,595 -----
X  			if((itmp = line_locked(shm->Lline)) && (itmp != LOPEN_WE_GOT_IT))
X  				goto GET_LINE_THAT_MATCHES_BAUD;
X  		case US_LOGIN:		/* enabled for login, idle */
X+ 		case US_WEGOTIT:	/* we already have the line */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X  				return;
X  	}
X***************
X*** 617,623
X  		switch(utmp_status(s32))
X  		{
X  			case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 				if(line_locked(s32))
X  					continue;
X  			case US_LOGIN:		/* enabled for login, idle */
X  				strcpy(shm->Lline,s32);	/* @@@@@@@@@@@ MATCH @@@@@@@@@ */
X
X--- 617,623 -----
X  		switch(utmp_status(s32))
X  		{
X  			case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 				if(itmp = line_locked(s32))
X  					continue;
X  			case US_WEGOTIT:
X  #if defined(WHT) && defined(SHARE_DEBUG)
X***************
X*** 619,624
X  			case US_NOTFOUND:	/* not in utmp, or getty dead */
X  				if(line_locked(s32))
X  					continue;
X  			case US_LOGIN:		/* enabled for login, idle */
X  				strcpy(shm->Lline,s32);	/* @@@@@@@@@@@ MATCH @@@@@@@@@ */
X  				shm->Lline[9] = to_lower(shm->Lline[9]);
X
X--- 619,628 -----
X  			case US_NOTFOUND:	/* not in utmp, or getty dead */
X  				if(itmp = line_locked(s32))
X  					continue;
X+ 			case US_WEGOTIT:
X+ #if defined(WHT) && defined(SHARE_DEBUG)
X+ 				ecu_log_event(getpid(),"looking for line found we own it");
X+ #endif
X  			case US_LOGIN:		/* enabled for login, idle */
X  				strcpy(shm->Lline,s32);	/* @@@@@@@@@@@ MATCH @@@@@@@@@ */
X  				shm->Lline[9] = to_lower(shm->Lline[9]);
X***************
X*** 702,707
X   */
X  	switch(utmp_status(shm->Lline))
X  	{
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X  			if(line_locked(shm->Lline))
X  				goto GET_LINE_THAT_MATCHES_TYPE;
X
X--- 706,716 -----
X   */
X  	switch(utmp_status(shm->Lline))
X  	{
X+ 		case US_WEGOTIT:
X+ #ifdef CHOOSE_DEBUG
X+ 			pprintf("we own the line\n");
X+ #endif
X+ 			return(0);
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X  			if(line_locked(s32))
X  				goto GET_LINE_THAT_MATCHES_TYPE;
X***************
X*** 703,709
X  	switch(utmp_status(shm->Lline))
X  	{
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 			if(line_locked(shm->Lline))
X  				goto GET_LINE_THAT_MATCHES_TYPE;
X  		case US_LOGIN:		/* enabled for login, idle */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X
X--- 712,718 -----
X  #endif
X  			return(0);
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 			if(line_locked(s32))
X  				goto GET_LINE_THAT_MATCHES_TYPE;
X  		case US_LOGIN:		/* enabled for login, idle */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X***************
X*** 740,745
X  					continue;
X  				/* fall through */
X  
X  			case US_LOGIN:		/* enabled for login, idle */
X  				if((dve->low_baud > baud) || (baud > dve->high_baud))
X  					continue;
X
X--- 749,758 -----
X  					continue;
X  				/* fall through */
X  
X+ 			case US_WEGOTIT:	/* we own the line */
X+ #if defined(LOG_HDBDIAL)
X+ 			pprintf("we own the line we just passed on using!\n");
X+ #endif
X  			case US_LOGIN:		/* enabled for login, idle */
X  				if((dve->low_baud > baud) || (baud > dve->high_baud))
X  					continue;
X***************
X*** 944,950
X  	{
X  		if(access(dve->dialprog,1))
X  		{
X! 			pperror(ungetty);
X  			pputs("trying ecu dialer\n");
X  			return(4);
X  		}
X
X--- 957,963 -----
X  	{
X  		if(access(dve->dialprog,1))
X  		{
X! 			pperror(dve->dialprog);
X  			pputs("trying ecu dialer\n");
X  			return(4);
X  		}
X*** /u1/src/ecu310/help/ecuhelp.src	Thu Jul 25 04:51:00 1991
X--- help/ecuhelp.src	Sat Aug 10 18:14:43 1991
X***************
X*** 231,236
X  are meaningful only when used in conjunction with a filename to start
X  logging.
X  #--------------------------------------------------------------------
X  %nl
X  Usage: nl
X  
X
X--- 231,241 -----
X  are meaningful only when used in conjunction with a filename to start
X  logging.
X  #--------------------------------------------------------------------
X+ %memstat
X+ Usage: memstat
X+ 
X+ Experimental malloc display.  -lmalloc bug may report erroneous data.
X+ #--------------------------------------------------------------------
X  %nl
X  Usage: nl
X  
X*** /u1/src/ecu310/kbdtest3.c	Thu Jul 25 12:58:00 1991
X--- kbdtest3.c	Sat Aug 10 18:21:07 1991
X***************
X*** 1,4
X! /* CHK=0x134E */
X  /*+-----------------------------------------------------------------------
X  	kbdtest3.c -- test keyboard values
X  	wht@n4hgf.Mt-Park.GA.US
X
X--- 1,5 -----
X! /* CHK=0x2F4F */
X! char *revision = "1.01";
X  /*+-----------------------------------------------------------------------
X  	kbdtest3.c -- test keyboard values
X  	wht@n4hgf.Mt-Park.GA.US
X***************
X*** 22,27
X  
X  ------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X  /*:04-29-1991-18:24-wht@n4hgf-let us see what keyboards say */
X  
X
X--- 23,30 -----
X  
X  ------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-06-1991-13:12-wht@n4hgf-add parity reporting */
X+ /*:08-06-1991-13:12-wht@n4hgf-some terminals reinvent parity bit's use */
X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X  /*:04-29-1991-18:24-wht@n4hgf-let us see what keyboards say */
X  
X***************
X*** 61,66
X  	"\n",
X  	"If you press a key but don't see further activity after a second or two\n",
X  	"press the slash '/' key unless you can choose a reasonable alternate.\n",
X  	(char *)0
X  };
X  
X
X--- 64,72 -----
X  	"\n",
X  	"If you press a key but don't see further activity after a second or two\n",
X  	"press the slash '/' key unless you can choose a reasonable alternate.\n",
X+ 	"\n",
X+ 	"Do not use the same key for more than one function.\n",
X+ 	"\n",
X  	(char *)0
X  };
X  
X***************
X*** 65,71
X  };
X  
X  char *strs_thanks[] = {
X! 	"\n\n",
X  	"Thank you.  If you wish to mail me the contents of kbdtest3.out,\n",
X  	"please include  a detailed description of the system and software\n",
X  	"(i.e., \"Metrolink xterm keyboard on SCO 3.2r2\")\n",
X
X--- 71,77 -----
X  };
X  
X  char *strs_thanks[] = {
X! 	"\n",
X  	"Thank you.  If you wish to mail me the contents of kbdtest3.out,\n",
X  	"please include  a detailed description of the system and software\n",
X  	"(i.e., \"Metrolink xterm keyboard on SCO 3.2r2\")\n",
X***************
X*** 109,114
X  	{(char *)0,(char *)0}
X  };
X  
X  static FILE *dumpfp;
X  
X  /*+-------------------------------------------------------------------------
X
X--- 115,121 -----
X  	{(char *)0,(char *)0}
X  };
X  
X+ char *parity_text = "<undetermined>";
X  static FILE *dumpfp;
X  
X  /*+-------------------------------------------------------------------------
X***************
X*** 263,269
X  register char ch;
X  int incl_3char;
X  {
X! static char gg[4];
X  char *ascii_ctlstr =
X  "nulsohstxetxeotenqackbelbs ht nl vt ff cr so si dledc1dc2dc3dc4naksynetbcanem subescfs gs rs us sp ";
X  
X
X--- 270,276 -----
X  register char ch;
X  int incl_3char;
X  {
X! static char gg[8];
X  char *ascii_ctlstr =
X  "nulsohstxetxeotenqackbelbs ht nl vt ff cr so si dledc1dc2dc3dc4naksynetbcanem subescfs gs rs us sp ";
X  
X***************
X*** 267,274
X  char *ascii_ctlstr =
X  "nulsohstxetxeotenqackbelbs ht nl vt ff cr so si dledc1dc2dc3dc4naksynetbcanem subescfs gs rs us sp ";
X  
X- 	ch &= 0x7F;
X- 
X  	if(ch == 0x7F)
X  		strcpy(gg,"del");
X  	else if(ch > 0x20)
X
X--- 274,279 -----
X  char *ascii_ctlstr =
X  "nulsohstxetxeotenqackbelbs ht nl vt ff cr so si dledc1dc2dc3dc4naksynetbcanem subescfs gs rs us sp ";
X  
X  	if(ch == 0x7F)
X  		strcpy(gg,"del");
X  	else if(ch > 0x7F)
X***************
X*** 271,276
X  
X  	if(ch == 0x7F)
X  		strcpy(gg,"del");
X  	else if(ch > 0x20)
X  	{
X  		gg[0] = ch;
X
X--- 276,283 -----
X  
X  	if(ch == 0x7F)
X  		strcpy(gg,"del");
X+ 	else if(ch > 0x7F)
X+ 		sprintf(gg,"0x%02x",(unsigned char)ch);
X  	else if(ch > 0x20)
X  	{
X  		gg[0] = ch;
X***************
X*** 357,363
X  unsigned char *buf;
X  int max;
X  {
X- int itmp;
X  int count = read(TTYIN,buf,max);
X  
X  	for(itmp = 0; itmp < count; itmp++)
X
X--- 364,369 -----
X  unsigned char *buf;
X  int max;
X  {
X  int count = read(TTYIN,buf,max);
X  
X  #ifdef notdef
X***************
X*** 360,365
X  int itmp;
X  int count = read(TTYIN,buf,max);
X  
X  	for(itmp = 0; itmp < count; itmp++)
X  		buf[itmp] &= 0x7F;
X  	return(count);
X
X--- 366,373 -----
X  {
X  int count = read(TTYIN,buf,max);
X  
X+ #ifdef notdef
X+ int itmp;
X  	for(itmp = 0; itmp < count; itmp++)
X  		buf[itmp] &= 0x7F;
X  #endif
X***************
X*** 362,367
X  
X  	for(itmp = 0; itmp < count; itmp++)
X  		buf[itmp] &= 0x7F;
X  	return(count);
X  
X  }	/* end of read_kbd_string */
X
X--- 370,376 -----
X  int itmp;
X  	for(itmp = 0; itmp < count; itmp++)
X  		buf[itmp] &= 0x7F;
X+ #endif
X  	return(count);
X  
X  }	/* end of read_kbd_string */
X***************
X*** 366,371
X  
X  }	/* end of read_kbd_string */
X  
X  
X  /*+-----------------------------------------------------------------------
X  	main()
X
X--- 375,389 -----
X  
X  }	/* end of read_kbd_string */
X  
X+ /*+-------------------------------------------------------------------------
X+ 	termio_parity_text(cflag)
X+ --------------------------------------------------------------------------*/
X+ char *
X+ termio_parity_text(cflag)
X+ unsigned short cflag;
X+ {
X+ 	 return((cflag & PARENB) ? ((cflag & PARODD) ? "odd" : "even") : "none");
X+ }	/* end of termio_parity_text */
X  
X  /*+-----------------------------------------------------------------------
X  	main()
X***************
X*** 378,383
X  int count;
X  struct keyname *need = need_names;
X  unsigned char instr[VMIN_VALUE + 1];
X  FILE *fpout;
X  long now;
X  int errflg = 0;
X
X--- 396,402 -----
X  int count;
X  struct keyname *need = need_names;
X  unsigned char instr[VMIN_VALUE + 1];
X+ char s128[128];
X  FILE *fpout;
X  long now;
X  int errflg = 0;
X***************
X*** 418,423
X  		exit(1);
X  	}
X  
X  	if(!hex_out)
X  	{
X  	char *ttype;
X
X--- 437,446 -----
X  		exit(1);
X  	}
X  
X+ 	ioctl(TTYIN,TCGETA,&tv0);		/* get original status */
X+ 	k3ttymode(2);
X+ 	parity_text = termio_parity_text(tv.c_cflag);
X+ 
X  	if(!hex_out)
X  	{
X  	char *ttype;
X***************
X*** 425,431
X  			ttype = "??";
X  		time(&now);
X  		fprintf(fpout,"# nonansikey definition for TERM='%s'\n",ttype);
X! 		fprintf(fpout,"# built by kbdtest3.c %s",ctime(&now));
X  		fprintf(fpout,"%s\n",ttype);
X  	}
X  
X
X--- 448,464 -----
X  			ttype = "??";
X  		time(&now);
X  		fprintf(fpout,"# nonansikey definition for TERM='%s'\n",ttype);
X! 		fprintf(fpout,"# built by kbdtest3 %s %s",revision,ctime(&now));
X! 		fprintf(fpout,"# keyboard parity required = %s\n",parity_text);
X! 		fprintf(fpout,"# stty -a at kbdtest3 execution time:\n");
X! 		fclose(fpout);
X! 		sprintf(s128,"/bin/stty -a | /bin/sed -e 's/^/# /' >> %s\n",outfile);
X! 		system(s128);
X! 		if(!(fpout = fopen(outfile,"a")))
X! 		{
X! 			perror(outfile);
X! 			exit(1);
X! 		}
X  		fprintf(fpout,"%s\n",ttype);
X  	}
X  
X***************
X*** 429,436
X  		fprintf(fpout,"%s\n",ttype);
X  	}
X  
X- 	ioctl(TTYIN,TCGETA,&tv0);		/* get original status */
X- 	k3ttymode(2);
X  	printf("press ^D (0x04) to terminate program early\n\n");
X  
X  	while(need->ecuname)
X
X--- 462,467 -----
X  		fprintf(fpout,"%s\n",ttype);
X  	}
X  
X  	printf("press ^D (0x04) to terminate program early\n\n");
X  
X  	while(need->ecuname)
X***************
X*** 471,476
X  		}
X  
X  		if((count == 1) && ((instr[0] & 0x7F) == 4))
X  			break;
X  
X  		need++;
X
X--- 502,509 -----
X  		}
X  
X  		if((count == 1) && ((instr[0] & 0x7F) == 4))
X+ 		{
X+ 			fputs("#Something is wrong with above entry.\n",fpout);
X  			break;
X  		}
X  
X***************
X*** 472,477
X  
X  		if((count == 1) && ((instr[0] & 0x7F) == 4))
X  			break;
X  
X  		need++;
X  	}
X
X--- 505,511 -----
X  		{
X  			fputs("#Something is wrong with above entry.\n",fpout);
X  			break;
X+ 		}
X  
X  		need++;
X  	}
X***************
X*** 480,485
X  	fclose(fpout);
X  	k3ttymode(0);
X  	if(!need->ecuname)
X  		tputstrs(strs_thanks);
X  	else
X  		printf("Something went wrong. Please try again.\n");
X
X--- 514,523 -----
X  	fclose(fpout);
X  	k3ttymode(0);
X  	if(!need->ecuname)
X+ 	{
X+ 		printf(
X+ 		"\nRemember to set keyboard parity to \"%s\" when using this entry.\n",
X+ 		parity_text);
X  		tputstrs(strs_thanks);
X  	}
X  	else
X***************
X*** 481,486
X  	k3ttymode(0);
X  	if(!need->ecuname)
X  		tputstrs(strs_thanks);
X  	else
X  		printf("Something went wrong. Please try again.\n");
X  	exit(0);
X
X--- 519,525 -----
X  		"\nRemember to set keyboard parity to \"%s\" when using this entry.\n",
X  		parity_text);
X  		tputstrs(strs_thanks);
X+ 	}
X  	else
X  	{
X  		printf("Something went wrong. Please try again.\n");
X***************
X*** 482,487
X  	if(!need->ecuname)
X  		tputstrs(strs_thanks);
X  	else
X  		printf("Something went wrong. Please try again.\n");
X  	exit(0);
X  
X
X--- 521,527 -----
X  		tputstrs(strs_thanks);
X  	}
X  	else
X+ 	{
X  		printf("Something went wrong. Please try again.\n");
X  	}
X  	exit(0);
X***************
X*** 483,488
X  		tputstrs(strs_thanks);
X  	else
X  		printf("Something went wrong. Please try again.\n");
X  	exit(0);
X  
X  }	/* end of main */
X
X--- 523,529 -----
X  	else
X  	{
X  		printf("Something went wrong. Please try again.\n");
X+ 	}
X  	exit(0);
X  
X  }	/* end of main */
X*** /u1/src/ecu310/lint_args.h	Thu Jul 25 12:58:00 1991
X--- lint_args.h	Mon Aug 12 00:10:40 1991
X***************
X*** 2,9
X  	lint_args.h
X  ------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X! /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X! /*:04-29-1991-00:16-afterlint-creation */
X  
X  #ifndef BUILDING_LINT_ARGS
X  #ifdef LINT_ARGS
X
X--- 2,8 -----
X  	lint_args.h
X  ------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X! /*:08-12-1991-00:07-afterlint-creation */
X  
X  #ifndef BUILDING_LINT_ARGS
X  #ifdef LINT_ARGS
X***************
X*** 39,44
X  int cd_array_delete(char **,int );
X  int change_directory(char *,int );
X  int expand_dirname(char *,int );
X  void cd_array_delete_usage(void );
X  void cd_array_init(void );
X  void cd_array_read(void);
X
X--- 38,45 -----
X  int cd_array_delete(char **,int );
X  int change_directory(char *,int );
X  int expand_dirname(char *,int );
X+ int pop_directory(char *,int ,int );
X+ int push_directory(char *,int ,int );
X  void cd_array_delete_usage(void );
X  void cd_array_init(void );
X  void cd_array_read(void );
X***************
X*** 41,48
X  int expand_dirname(char *,int );
X  void cd_array_delete_usage(void );
X  void cd_array_init(void );
X! void cd_array_read(void);
X! void cd_array_save(void);
X  /* ecudump.c */
X  void hex_dump_fp(FILE *fp,char *str,int len,char *title,int terse_flag);
X  void dump_putc(char );
X
X--- 42,49 -----
X  int push_directory(char *,int ,int );
X  void cd_array_delete_usage(void );
X  void cd_array_init(void );
X! void cd_array_read(void );
X! void cd_array_save(void );
X  /* ecudump.c */
X  /* void hex_dump_fp(struct UNNAMED *fp,char *str,int len,char *title,int terse_flag); */
X  void dump_putc(char );
X***************
X*** 44,50
X  void cd_array_read(void);
X  void cd_array_save(void);
X  /* ecudump.c */
X! void hex_dump_fp(FILE *fp,char *str,int len,char *title,int terse_flag);
X  void dump_putc(char );
X  void dump_puts(char *);
X  void hex_dump(char *,int ,char *,int );
X
X--- 45,51 -----
X  void cd_array_read(void );
X  void cd_array_save(void );
X  /* ecudump.c */
X! /* void hex_dump_fp(struct UNNAMED *fp,char *str,int len,char *title,int terse_flag); */
X  void dump_putc(char );
X  void dump_puts(char *);
X  void hex_dump(char *,int ,char *,int );
X***************
X*** 57,63
X  int file_insert_to_line(int ,char **);
X  void file_insert_clear_xoff(void );
X  /* ecufkey.c */
X! int kde_fgets(char *buf,int bufsize,FILE *fp);
X  char *keyset_idstr(int );
X  int keyset_define_key(char *);
X  int keyset_idnum(char *);
X
X--- 58,64 -----
X  int file_insert_to_line(int ,char **);
X  void file_insert_clear_xoff(void );
X  /* ecufkey.c */
X! /* int kde_fgets(char *buf,int bufsize,struct UNNAMED *fp); */
X  char *keyset_idstr(int );
X  int keyset_define_key(char *);
X  int keyset_idnum(char *);
X***************
X*** 75,80
X  void shell(char *);
X  /* ecuicmaux.c */
X  int icmd_log(int ,int ,char **);
X  void display_ascii_names(void );
X  void icmd_conversion(int ,int ,char **);
X  void nlin_nlout_control(int ,int ,char **);
X
X--- 76,83 -----
X  void shell(char *);
X  /* ecuicmaux.c */
X  int icmd_log(int ,int ,char **);
X+ int pcmd_rlog(struct esd *);
X+ int rcvr_log_control(int ,int ,char **);
X  void display_ascii_names(void );
X  void icmd_conversion(int ,int ,char **);
X  void nlin_nlout_control(int ,int ,char **);
X***************
X*** 134,139
X  void build_revision_string(void );
X  /* ecuphone.c */
X  int check_curr_pde(void );
X  int dirw_display_config(void );
X  int lookup_logical_telno(void );
X  int pde_add_or_edit(struct phone_directory_entry *,int );
X
X--- 137,143 -----
X  void build_revision_string(void );
X  /* ecuphone.c */
X  int check_curr_pde(void );
X+ int copy_pde_to_lvar(struct phone_directory_entry *);
X  int dirw_display_config(void );
X  int lookup_logical_telno(void );
X  int pde_add_or_edit(struct phone_directory_entry *,int );
X***************
X*** 144,150
X  int want_pd_create(char *);
X  struct phone_directory_entry *pde_list_search(char *,int );
X  unsigned char dirw_get_cmd(char *);
X- int copy_pde_to_lvar(struct phone_directory_entry *);
X  void dirw_bot_msg(char *);
X  void dirw_cmd_line_setup(char *,char *);
X  void dirw_display(void );
X
X--- 148,153 -----
X  int want_pd_create(char *);
X  struct phone_directory_entry *pde_list_search(char *,int );
X  unsigned char dirw_get_cmd(char *);
X  void dirw_bot_msg(char *);
X  void dirw_cmd_line_setup(char *,char *);
X  void dirw_display(void );
X***************
X*** 236,242
X  void shmx_set_rcvr_log(char *,int ,int ,int );
X  /* ecusighdl.c */
X  char *termecu_code_text(int );
X- void start_rcvr_process(int );
X  void child_signals(void );
X  void termecu(int );
X  void kill_rcvr_process(int );
X
X--- 239,244 -----
X  void shmx_set_rcvr_log(char *,int ,int ,int );
X  /* ecusighdl.c */
X  char *termecu_code_text(int );
X  void child_signals(void );
X  void kill_rcvr_process(int );
X  void rcvr_SIGHUP_handler(void );
X***************
X*** 238,244
X  char *termecu_code_text(int );
X  void start_rcvr_process(int );
X  void child_signals(void );
X- void termecu(int );
X  void kill_rcvr_process(int );
X  void rcvr_SIGHUP_handler(void );
X  void rcvr_SIGINT_handler(void );
X
X--- 240,245 -----
X  /* ecusighdl.c */
X  char *termecu_code_text(int );
X  void child_signals(void );
X  void kill_rcvr_process(int );
X  void rcvr_SIGHUP_handler(void );
X  void rcvr_SIGINT_handler(void );
X***************
X*** 248,253
X  void rcvr_common_signal_handler(void );
X  void rcvr_death_handler(int );
X  void rcvr_signals(void );
X  void xmtr_SIGCLD_handler(void );
X  void xmtr_SIGHUP_handler(int );
X  void xmtr_SIGINT_handler(void );
X
X--- 249,256 -----
X  void rcvr_common_signal_handler(void );
X  void rcvr_death_handler(int );
X  void rcvr_signals(void );
X+ void start_rcvr_process(int );
X+ void termecu(int );
X  void xmtr_SIGCLD_handler(void );
X  void xmtr_SIGHUP_handler(int );
X  void xmtr_SIGINT_handler(void );
X***************
X*** 295,301
X  int get_ttymode(void );
X  int setcolor_internal(int ,char **);
X  int ttygets_esd(struct esd *,int ,int );
X- unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  unsigned int ttygetc(int );
X  void _setcolor(unsigned long );
X  void read_colors_file(void );
X
X--- 298,303 -----
X  int get_ttymode(void );
X  int setcolor_internal(int ,char **);
X  int ttygets_esd(struct esd *,int ,int );
X  unsigned int ttygetc(int );
X  unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  void _setcolor(unsigned long );
X***************
X*** 297,302
X  int ttygets_esd(struct esd *,int ,int );
X  unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  unsigned int ttygetc(int );
X  void _setcolor(unsigned long );
X  void read_colors_file(void );
X  void restore_initial_colors(void );
X
X--- 299,305 -----
X  int setcolor_internal(int ,char **);
X  int ttygets_esd(struct esd *,int ,int );
X  unsigned int ttygetc(int );
X+ unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  void _setcolor(unsigned long );
X  void get_initial_colors(void );
X  void read_colors_file(void );
X***************
X*** 298,303
X  unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  unsigned int ttygetc(int );
X  void _setcolor(unsigned long );
X  void read_colors_file(void );
X  void restore_initial_colors(void );
X  void ring_bell(void );
X
X--- 301,307 -----
X  unsigned int ttygetc(int );
X  unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  void _setcolor(unsigned long );
X+ void get_initial_colors(void );
X  void read_colors_file(void );
X  void restore_initial_colors(void );
X  void ring_bell(void );
X***************
X*** 302,307
X  void restore_initial_colors(void );
X  void ring_bell(void );
X  void setcolor(unsigned long );
X  void ttyflush(int );
X  void ttygets(char *,int ,int,unsigned char *,int * );
X  void ttyinit(unsigned char );
X
X--- 306,312 -----
X  void restore_initial_colors(void );
X  void ring_bell(void );
X  void setcolor(unsigned long );
X+ void termio_to_kbd_chars(void );
X  void ttyflush(int );
X  void ttygets(char *,int ,int ,unsigned char *,int *);
X  void ttyinit(unsigned char );
X***************
X*** 303,309
X  void ring_bell(void );
X  void setcolor(unsigned long );
X  void ttyflush(int );
X! void ttygets(char *,int ,int,unsigned char *,int * );
X  void ttyinit(unsigned char );
X  void ttymode(int );
X  void ttynormal_opost(void );
X
X--- 308,314 -----
X  void setcolor(unsigned long );
X  void termio_to_kbd_chars(void );
X  void ttyflush(int );
X! void ttygets(char *,int ,int ,unsigned char *,int *);
X  void ttyinit(unsigned char );
X  void ttymode(int );
X  void ttynormal_opost(void );
X***************
X*** 331,338
X  int find_shell_chars(char *);
X  int get_curr_dir(char *,int );
X  int get_home_dir(char *);
X- int make_dirs(char *);
X- int mkdir(char *,int );
X  int yes_or_no(char *);
X  void build_arg_array(char *,char **,int ,int *);
X  void build_str_array(char *,char **,int ,int *);
X
X--- 336,341 -----
X  int find_shell_chars(char *);
X  int get_curr_dir(char *,int );
X  int get_home_dir(char *);
X  int yes_or_no(char *);
X  void build_arg_array(char *,char **,int ,int *);
X  void build_str_array(char *,char **,int ,int *);
X***************
X*** 348,354
X  void strip_trail_break(char *);
X  /* ecuwinutil.c */
X  int winget_single(struct _win_st *,char *,char *);
X! int wingets(struct _win_st *,int ,int ,char *,int ,unsigned char *,int,int *);
X  struct _win_st *window_create(char *,int ,int ,int ,int ,int );
X  void clear_area(struct _win_st *,int ,int ,int );
X  void clear_area_char(struct _win_st *,int ,int ,int ,char );
X
X--- 351,357 -----
X  void strip_trail_break(char *);
X  /* ecuwinutil.c */
X  int winget_single(struct _win_st *,char *,char *);
X! int wingets(struct _win_st *,int ,int ,char *,int ,unsigned char *,int ,int *);
X  struct _win_st *window_create(char *,int ,int ,int ,int ,int );
X  void clear_area(struct _win_st *,int ,int ,int );
X  void clear_area_char(struct _win_st *,int ,int ,int ,char );
X***************
X*** 362,368
X  char *signal_name_text(int );
X  int bell_alarm(int );
X  int kbd_escape(unsigned char );
X- int morse_bell(int ,int );
X  int show_escape_prompt(void );
X  void bell_notify(int );
X  void send_bell_fd(int ,int ,int );
X
X--- 365,370 -----
X  char *signal_name_text(int );
X  int bell_alarm(int );
X  int kbd_escape(unsigned char );
X  int show_escape_prompt(void );
X  void bell_notify(int );
X  void send_bell_fd(int ,int ,int );
X***************
X*** 387,394
X  void xfrws_display_name(void );
X  void xfrws_display_xfernew(void );
X  /* esdutil.c */
X! int esdfgets(struct esd *param,FILE *fileptr);
X! int esdfputs(struct esd *param,FILE *fileptr,int index_flag,int nl_flag);
X  int end_of_cmd(struct esd *);
X  int esdcat(struct esd *,struct esd *,int );
X  int esdrealloc(struct esd *,int );
X
X--- 389,396 -----
X  void xfrws_display_name(void );
X  void xfrws_display_xfernew(void );
X  /* esdutil.c */
X! /* int esdfgets(struct esd *tesd,struct UNNAMED *fileptr); */
X! /* int esdfputs(struct esd *tesd,struct UNNAMED *fileptr,int index_flag,int nl_flag); */
X  int end_of_cmd(struct esd *);
X  int esdcat(struct esd *,struct esd *,int );
X  int esdrealloc(struct esd *,int );
X***************
X*** 421,437
X  int pcmd_expresp(struct esd *);
X  void respond(char *);
X  /* fasiintf.c */
X- char *ier_text(unsigned char );
X- char *lcr_text(unsigned char );
X- char *mcr_text(unsigned char );
X- char *msr_text(unsigned char );
X- int pcmd_fasi(struct esd *);
X- unsigned char fasi_msr(void );
X- unsigned long fasi_breaks_detected(void );
X- unsigned long fasi_line_errors(void );
X- unsigned long fasi_rings_detected(void );
X- void display_fasi(struct fas_info *);
X- void icmd_fasi(int ,char **);
X  /* feval.c */
X  int feval_int(struct esd *,long *);
X  int feval_str(struct esd *,struct esd *);
X
X--- 423,428 -----
X  int pcmd_expresp(struct esd *);
X  void respond(char *);
X  /* fasiintf.c */
X  /* feval.c */
X  int feval_int(struct esd *,long *);
X  int feval_str(struct esd *,struct esd *);
X***************
X*** 446,453
X  /* gstr.c */
X  int gstr(struct esd *,struct esd *,int );
X  /* hdbintf.c */
X- int choose_device(char *,unsigned int );
X- void choose_line(unsigned int );
X  char *hdb_dial_error_text(int );
X  int hdb_dial(char **);
X  int ungetty_get_line(void );
X
X--- 437,442 -----
X  /* gstr.c */
X  int gstr(struct esd *,struct esd *,int );
X  /* hdbintf.c */
X  char *hdb_dial_error_text(int );
X  int choose_device(char *,unsigned int );
X  int dvtype_match(char *,char *);
X***************
X*** 449,454
X  int choose_device(char *,unsigned int );
X  void choose_line(unsigned int );
X  char *hdb_dial_error_text(int );
X  int hdb_dial(char **);
X  int ungetty_get_line(void );
X  struct dlent *getdlent(void );
X
X--- 438,445 -----
X  int gstr(struct esd *,struct esd *,int );
X  /* hdbintf.c */
X  char *hdb_dial_error_text(int );
X+ int choose_device(char *,unsigned int );
X+ int dvtype_match(char *,char *);
X  int hdb_dial(char **);
X  int ungetty_get_line(void );
X  struct dlent *getdlent(void );
X***************
X*** 457,462
X  struct dvent *getdvent(void );
X  struct dvent *getdvline(char *);
X  struct dvent *getdvtype(char *);
X  void dialstr_translate(char *,char *);
X  void enddlent(void );
X  void enddvent(void );
X
X--- 448,454 -----
X  struct dvent *getdvent(void );
X  struct dvent *getdvline(char *);
X  struct dvent *getdvtype(char *);
X+ void choose_line(unsigned int );
X  void dialstr_translate(char *,char *);
X  void enddlent(void );
X  void enddvent(void );
X***************
X*** 488,493
X  int pcmd_nap(struct esd *);
X  int pcmd_nice(struct esd *);
X  int pcmd_parity(struct esd *);
X  int pcmd_prompt(struct esd *);
X  int pcmd_ptrace(struct esd *);
X  int pcmd_putf(struct esd *);
X
X--- 480,486 -----
X  int pcmd_nap(struct esd *);
X  int pcmd_nice(struct esd *);
X  int pcmd_parity(struct esd *);
X+ int pcmd_popd(struct esd *);
X  int pcmd_prompt(struct esd *);
X  int pcmd_ptrace(struct esd *);
X  int pcmd_pushd(struct esd *);
X***************
X*** 490,495
X  int pcmd_parity(struct esd *);
X  int pcmd_prompt(struct esd *);
X  int pcmd_ptrace(struct esd *);
X  int pcmd_putf(struct esd *);
X  int pcmd_rname(struct esd *);
X  int pcmd_rtscts(struct esd *);
X
X--- 483,489 -----
X  int pcmd_popd(struct esd *);
X  int pcmd_prompt(struct esd *);
X  int pcmd_ptrace(struct esd *);
X+ int pcmd_pushd(struct esd *);
X  int pcmd_putf(struct esd *);
X  int pcmd_rname(struct esd *);
X  int pcmd_rtscts(struct esd *);
X***************
X*** 730,736
X  /* ecuphone.c */
X  struct phone_directory_entry *pde_list_search();
X  unsigned char dirw_get_cmd();
X- int copy_pde_to_lvar();
X  void dirw_bot_msg();
X  void dirw_cmd_line_setup();
X  void dirw_display();
X
X--- 724,729 -----
X  /* ecuphone.c */
X  struct phone_directory_entry *pde_list_search();
X  unsigned char dirw_get_cmd();
X  void dirw_bot_msg();
X  void dirw_cmd_line_setup();
X  void dirw_display();
X***************
X*** 816,822
X  /* ecusighdl.c */
X  char *termecu_code_text();
X  void child_signals();
X- void termecu();
X  void kill_rcvr_process();
X  void rcvr_SIGHUP_handler();
X  void rcvr_SIGINT_handler();
X
X--- 809,814 -----
X  /* ecusighdl.c */
X  char *termecu_code_text();
X  void child_signals();
X  void kill_rcvr_process();
X  void rcvr_SIGHUP_handler();
X  void rcvr_SIGINT_handler();
X***************
X*** 826,831
X  void rcvr_common_signal_handler();
X  void rcvr_death_handler();
X  void rcvr_signals();
X  void xmtr_SIGCLD_handler();
X  void xmtr_SIGHUP_handler();
X  void xmtr_SIGINT_handler();
X
X--- 818,825 -----
X  void rcvr_common_signal_handler();
X  void rcvr_death_handler();
X  void rcvr_signals();
X+ void start_rcvr_process();
X+ void termecu();
X  void xmtr_SIGCLD_handler();
X  void xmtr_SIGHUP_handler();
X  void xmtr_SIGINT_handler();
X***************
X*** 866,872
X  char *get_tod();
X  /* ecutty.c */
X  char *get_ttyname();
X- unsigned long B_to_timeout_msec();
X  unsigned int ttygetc();
X  void _setcolor();
X  void read_colors_file();
X
X--- 860,865 -----
X  char *get_tod();
X  /* ecutty.c */
X  char *get_ttyname();
X  unsigned int ttygetc();
X  unsigned long B_to_timeout_msec();
X  void _setcolor();
X***************
X*** 868,873
X  char *get_ttyname();
X  unsigned long B_to_timeout_msec();
X  unsigned int ttygetc();
X  void _setcolor();
X  void read_colors_file();
X  void restore_initial_colors();
X
X--- 861,867 -----
X  /* ecutty.c */
X  char *get_ttyname();
X  unsigned int ttygetc();
X+ unsigned long B_to_timeout_msec();
X  void _setcolor();
X  void get_initial_colors();
X  void read_colors_file();
X***************
X*** 869,874
X  unsigned long B_to_timeout_msec();
X  unsigned int ttygetc();
X  void _setcolor();
X  void read_colors_file();
X  void restore_initial_colors();
X  void ring_bell();
X
X--- 863,869 -----
X  unsigned int ttygetc();
X  unsigned long B_to_timeout_msec();
X  void _setcolor();
X+ void get_initial_colors();
X  void read_colors_file();
X  void restore_initial_colors();
X  void ring_bell();
X***************
X*** 873,878
X  void restore_initial_colors();
X  void ring_bell();
X  void setcolor();
X  void ttyflush();
X  void ttygets();
X  void ttyinit();
X
X--- 868,874 -----
X  void restore_initial_colors();
X  void ring_bell();
X  void setcolor();
X+ void termio_to_kbd_chars();
X  void ttyflush();
X  void ttygets();
X  void ttyinit();
X***************
X*** 950,965
X  /* expresp.c */
X  void respond();
X  /* fasiintf.c */
X- char *ier_text();
X- char *lcr_text();
X- char *mcr_text();
X- char *msr_text();
X- unsigned char fasi_msr();
X- unsigned long fasi_breaks_detected();
X- unsigned long fasi_line_errors();
X- unsigned long fasi_rings_detected();
X- void display_fasi();
X- void icmd_fasi();
X  /* feval.c */
X  /* gint.c */
X  /* gstr.c */
X
X--- 946,951 -----
X  /* expresp.c */
X  void respond();
X  /* fasiintf.c */
X  /* feval.c */
X  /* gint.c */
X  /* gstr.c */
X***************
X*** 964,971
X  /* gint.c */
X  /* gstr.c */
X  /* hdbintf.c */
X- int choose_device();
X- void choose_line();
X  char *hdb_dial_error_text();
X  struct dlent *getdlent();
X  struct dlent *getdlentname();
X
X--- 950,955 -----
X  /* gint.c */
X  /* gstr.c */
X  /* hdbintf.c */
X  char *hdb_dial_error_text();
X  struct dlent *getdlent();
X  struct dlent *getdlentname();
X***************
X*** 973,978
X  struct dvent *getdvent();
X  struct dvent *getdvline();
X  struct dvent *getdvtype();
X  void dialstr_translate();
X  void enddlent();
X  void enddvent();
X
X--- 957,963 -----
X  struct dvent *getdvent();
X  struct dvent *getdvline();
X  struct dvent *getdvtype();
X+ void choose_line();
X  void dialstr_translate();
X  void enddlent();
X  void enddvent();
SHAR_EOF
$TOUCH -am 0812040291 'PATCH1.02' &&
chmod 0644 PATCH1.02 ||
echo 'restore of PATCH1.02 failed'
Wc_c="`wc -c < 'PATCH1.02'`"
test 49101 -eq "$Wc_c" ||
	echo 'PATCH1.02: original size 49101, current size' "$Wc_c"
true || echo 'restore of PATCH1.03 failed'
echo End of part 2, continue with part 3
exit 0

exit 0 # Just in case...
-- 
Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
Sterling Software, IMD           UUCP:     uunet!sparky!kent
Phone:    (402) 291-8300         FAX:      (402) 291-4362
Please send comp.sources.misc-related mail to kent@uunet.uu.net.


From pa.dec.com!decwrl!uunet!sparky!kent Sun Aug 18 09:20:34 PDT 1991
Article: 2641 of comp.sources.misc
Newsgroups: comp.sources.misc
Path: pa.dec.com!decwrl!uunet!sparky!kent
From: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
Subject:  v22i020:  ecu - ECU async comm package rev 3.10, Patch01b/3
Message-ID: <1991Aug16.020607.13061@sparky.IMD.Sterling.COM>
X-Md4-Signature: 7aacd3fdac4d35132e43109c609324b7
Sender: kent@sparky.IMD.Sterling.COM (Kent Landfield)
Organization: Sterling Software, IMD
References: <csm-v22i019=ecu.210425@sparky.imd.sterling.com>
Date: Fri, 16 Aug 1991 02:06:07 GMT
Approved: kent@sparky.imd.sterling.com
Lines: 1961

Submitted-by: Warren Tucker <wht@n4hgf.Mt-Park.GA.US>
Posting-number: Volume 22, Issue 20
Archive-name: ecu/patch01b
Environment: SCO, XENIX, ISC
Patch-To: ecu: Volume 21, Issue 53-89

#!/bin/sh
# This is part 02 of ecu310-p1
if touch 2>&1 | fgrep 'amc' > /dev/null
 then TOUCH=touch
 else TOUCH=true
fi
# ============= PATCH1.02 ==============
echo 'x - extracting PATCH1.02 (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'PATCH1.02' &&
X:
X#-------------------------------------------------------
X# PATCH1.02
X# Fixes and ISC Compatibility
X# created by gendiff x1.03 on 12 Aug 1991 08:01 UTC
X#-------------------------------------------------------
X*** /u1/src/ecu310/ecusetup.c	Thu Jul 25 12:56:00 1991
X--- ecusetup.c	Mon Aug 12 03:59:36 1991
X***************
X*** 34,39
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
X  /*:06-05-1991-18:07-wht@n4hgf-rework */
X
X--- 34,40 -----
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-12-1991-00:58-wht@n4hgf-ISC tty names */
X  /*:07-25-1991-12:56-wht@n4hgf-ECU release 3.10 */
X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
X  /*:06-05-1991-18:07-wht@n4hgf-rework */
X***************
X*** 72,77
X  #define DESCR_LX	3
X  
X  #define TTY_Y		6
X  #define TTY_X		16
X  #define TTY_LEN		5
X  #define TTY_LX		3
X
X--- 73,79 -----
X  #define DESCR_LX	3
X  
X  #define TTY_Y		6
X+ #if defined(M_SYSV)
X  #define TTY_X		16
X  #define TTY_LEN		5
X  #else
X***************
X*** 74,79
X  #define TTY_Y		6
X  #define TTY_X		16
X  #define TTY_LEN		5
X  #define TTY_LX		3
X  
X  #define TTYOPN_LY	6
X
X--- 76,90 -----
X  #if defined(M_SYSV)
X  #define TTY_X		16
X  #define TTY_LEN		5
X+ #else
X+ #if defined(ISC)
X+ #define TTY_X		13
X+ #define TTY_LEN		8
X+ #else
X+ #	include "porting.attention.needed.here"
X+ #endif /* ISC */
X+ #endif /* M_SYSV */
X+ 
X  #define TTY_LX		3
X  
X  #define TTYOPN_LY	6
X***************
X*** 240,245
X  setup_display_tty()
X  {
X  	clear_area(setw,TTY_Y,TTY_X,TTY_LEN);
X  	waddstr(setw,&shm->Lline[8]);
X  }	/* end of setup_display_tty */
X  
X
X--- 251,257 -----
X  setup_display_tty()
X  {
X  	clear_area(setw,TTY_Y,TTY_X,TTY_LEN);
X+ #if defined(M_SYSV)
X  	waddstr(setw,&shm->Lline[8]);
X  #else
X  #if defined(ISC)
X***************
X*** 241,246
X  {
X  	clear_area(setw,TTY_Y,TTY_X,TTY_LEN);
X  	waddstr(setw,&shm->Lline[8]);
X  }	/* end of setup_display_tty */
X  
X  /*+-------------------------------------------------------------------------
X
X--- 253,266 -----
X  	clear_area(setw,TTY_Y,TTY_X,TTY_LEN);
X  #if defined(M_SYSV)
X  	waddstr(setw,&shm->Lline[8]);
X+ #else
X+ #if defined(ISC)
X+ 	waddstr(setw,&shm->Lline[5]);
X+ #else
X+ #	include "porting.attention.needed.here"
X+ #endif /* ISC */
X+ #endif /* M_SYSV */
X+ 
X  }	/* end of setup_display_tty */
X  
X  /*+-------------------------------------------------------------------------
X***************
X*** 464,469
X  				break;
X  
X  			case 1:
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X  				setup_display_tty();
X  				strcpy(s80,&shm->Lline[8]);
X
X--- 484,490 -----
X  				break;
X  
X  			case 1:
X+ #if defined(M_SYSV)
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X  #define _TTYPOS 8
X  #else
X***************
X*** 465,470
X  
X  			case 1:
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X  				setup_display_tty();
X  				strcpy(s80,&shm->Lline[8]);
X   				itmp = wingets(setw,TTY_Y,TTY_X,s80,TTY_LEN + 1,&delim,
X
X--- 486,501 -----
X  			case 1:
X  #if defined(M_SYSV)
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X+ #define _TTYPOS 8
X+ #else
X+ #if defined(ISC)
X+ 				setw_bot_msg("comm line: i.e., acu00, tty00");
X+ #define _TTYPOS 5
X+ #else
X+ #	include "porting.attention.needed.here"
X+ #endif /* ISC */
X+ #endif /* M_SYSV */
X+ 
X  				setup_display_tty();
X  				strcpy(s80,&shm->Lline[_TTYPOS]);
X   				itmp = wingets(setw,TTY_Y,TTY_X,s80,TTY_LEN + 1,&delim,
X***************
X*** 466,472
X  			case 1:
X  				setw_bot_msg("comm line: i.e., 1a, 2a, 4a, 4b, 4c, 4d");
X  				setup_display_tty();
X! 				strcpy(s80,&shm->Lline[8]);
X   				itmp = wingets(setw,TTY_Y,TTY_X,s80,TTY_LEN + 1,&delim,
X  					1,(int *)0);
X  				setw_err_msg("");
X
X--- 497,503 -----
X  #endif /* M_SYSV */
X  
X  				setup_display_tty();
X! 				strcpy(s80,&shm->Lline[_TTYPOS]);
X   				itmp = wingets(setw,TTY_Y,TTY_X,s80,TTY_LEN + 1,&delim,
X  					1,(int *)0);
X  				setw_err_msg("");
X***************
X*** 471,477
X  					1,(int *)0);
X  				setw_err_msg("");
X  				if(strchr(use_input_delim,delim))
X! 					strcpy(&shm->Lline[8],s80);
X  				setup_display_tty();
X  				break;
X  
X
X--- 502,508 -----
X  					1,(int *)0);
X  				setw_err_msg("");
X  				if(strchr(use_input_delim,delim))
X! 					strcpy(&shm->Lline[_TTYPOS],s80);
X  				setup_display_tty();
X  				break;
X  
X*** /u1/src/ecu310/ecushm.c	Thu Jul 25 12:56:00 1991
X--- ecushm.c	Sat Aug 10 17:54:56 1991
X***************
X*** 34,41
X  #define SHMR_SET_XMTR_BN1		1	/* set want_bell_notify to 1 */
X  
X  extern int want_bell_notify;
X- extern int rcvr_pid;
X- extern int xmtr_pid;
X  extern char rcvr_log_file[];	/* if rcvr_log!= 0,log filename */
X  extern int rcvr_log;			/* rcvr log active if != 0 */
X  extern FILE *rcvr_log_fp;		/* rcvr log file */
X
X--- 34,39 -----
X  #define SHMR_SET_XMTR_BN1		1	/* set want_bell_notify to 1 */
X  
X  extern int want_bell_notify;
X  extern char rcvr_log_file[];	/* if rcvr_log!= 0,log filename */
X  extern int rcvr_log;			/* rcvr log active if != 0 */
X  extern FILE *rcvr_log_fp;		/* rcvr log file */
X*** /u1/src/ecu310/ecuungetty/Make.src	Thu Jul 25 12:57:00 1991
X--- ecuungetty/Make.src	Wed Aug  7 14:18:34 1991
X***************
X*** 4,10
X  #
X  # must be root to run make install
X  #----------------------------------------------------------------
X! #+:EDITS:*/
X  #:07-25-1991-12:57-wht@n4hgf-ECU release 3.10
X  #:04-21-1991-12:05-wht@n4hgf-convert to Make.src
X  
X
X--- 4,10 -----
X  #
X  # must be root to run make install
X  #----------------------------------------------------------------
X! #+:EDITS
X  #:07-25-1991-12:57-wht@n4hgf-ECU release 3.10
X  #:04-21-1991-12:05-wht@n4hgf-convert to Make.src
X  
X*** /u1/src/ecu310/ecuutil.c	Thu Jul 25 12:57:00 1991
X--- ecuutil.c	Tue Aug  6 15:05:37 1991
X***************
X*** 747,752
X  /*+-------------------------------------------------------------------------
X  	ascii_to_hex(ascii)
X  --------------------------------------------------------------------------*/
X  ascii_to_hex(ascii)
X  char *ascii;
X  {
X
X--- 747,753 -----
X  /*+-------------------------------------------------------------------------
X  	ascii_to_hex(ascii)
X  --------------------------------------------------------------------------*/
X+ int
X  ascii_to_hex(ascii)
X  char *ascii;
X  {
X*** /u1/src/ecu310/ecuwinutil.c	Thu Jul 25 12:57:00 1991
X--- ecuwinutil.c	Tue Aug  6 15:05:37 1991
X***************
X*** 16,21
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X  
X
X--- 16,22 -----
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-01-1991-03:52-wht@n4hgf-when editing string, set cursor to end */
X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X  
X***************
X*** 242,248
X  This procedure reads a string from win and returns the number
X  of characters read.
X  
X! If edit is non-zero and pstrpos is not null, the inital string
X  position is set by dereferencing the pointer.
X  
X  The terminating delim is returned in 'delim'.
X
X--- 243,249 -----
X  This procedure reads a string from win and returns the number
X  of characters read.
X  
X! If edit is non-zero and pwgpos is not null, the inital string
X  position is set by dereferencing the pointer.
X  
X  The terminating delim is returned in 'delim'.
X***************
X*** 247,253
X  
X  The terminating delim is returned in 'delim'.
X  
X! If pstrpos is not null, the ending string position is returned in
X  the integer pointed to.
X  
X  -1 is returned if an ESCape is typed by the keyboard user,
X
X--- 248,254 -----
X  
X  The terminating delim is returned in 'delim'.
X  
X! If pwgpos is not null, the ending string position is returned in
X  the integer pointed to.
X  
X  -1 is returned if an ESCape is typed by the keyboard user,
X***************
X*** 256,262
X  The entired line must be contained on one line (no line wrap supported).
X  --------------------------------------------------------------------------*/
X  int
X! wingets(win,y,x,buf,bufsize,delim,edit,pstrpos)
X  WINDOW *win;
X  int y;
X  register x;
X
X--- 257,263 -----
X  The entired line must be contained on one line (no line wrap supported).
X  --------------------------------------------------------------------------*/
X  int
X! wingets(win,y,x,buf,bufsize,delim,edit,pwgpos)
X  WINDOW *win;
X  int y;
X  register x;
X***************
X*** 264,270
X  int bufsize;	/* includes room for null..field is 1 less */
X  register uchar *delim;
X  int edit;
X! int *pstrpos;
X  {
X  register count = 0;
X  register pos = 0;
X
X--- 265,271 -----
X  int bufsize;	/* includes room for null..field is 1 less */
X  register uchar *delim;
X  int edit;
X! int *pwgpos;
X  {
X  register count = 0;
X  register pos = 0;
X***************
X*** 277,283
X  	{
X  		waddstr(win,buf);
X  		count = pos = strlen(buf);
X! 		if(pstrpos)
X  		{
X  			pos = *pstrpos;
X  			if((pos < 0) || (pos > count))
X
X--- 278,284 -----
X  	{
X  		waddstr(win,buf);
X  		count = pos = strlen(buf);
X! 		if(pwgpos)
X  		{
X  			pos = *pwgpos;
X  			if((pos < 0) || (pos > count))
X***************
X*** 279,285
X  		count = pos = strlen(buf);
X  		if(pstrpos)
X  		{
X! 			pos = *pstrpos;
X  			if((pos < 0) || (pos > count))
X  				pos = count;
X  		}
X
X--- 280,286 -----
X  		count = pos = strlen(buf);
X  		if(pwgpos)
X  		{
X! 			pos = *pwgpos;
X  			if((pos < 0) || (pos > count))
X  				pos = count;
X  		}
X***************
X*** 388,395
X  	}	/* end of while can get character */
X  
X  RETURN:
X! 	if(pstrpos)
X! 		*pstrpos = pos;
X  	return(rtn_val);
X  
X  }	/* end of wingets */
X
X--- 389,396 -----
X  	}	/* end of while can get character */
X  
X  RETURN:
X! 	if(pwgpos)
X! 		*pwgpos = pos;
X  	return(rtn_val);
X  
X  }	/* end of wingets */
X*** /u1/src/ecu310/expresp.c	Thu Jul 25 12:57:00 1991
X--- expresp.c	Tue Aug  6 15:05:37 1991
X***************
X*** 26,31
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X
X--- 26,34 -----
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-01-1991-05:00-wht@n4hgf-\n sent CR not NL */
X+ /*:08-01-1991-04:31-wht@n4hgf-nap min of hzmsec if \m */
X+ /*:08-01-1991-04:22-wht@n4hgf-detect NULL expect string */
X  /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X  /*:07-17-1991-07:04-wht@n4hgf-avoid SCO UNIX nap bug */
X  /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X***************
X*** 74,79
X  	int itmp;
X  	long atol();
X  
X  	if(old_ttymode != 2)
X  		ttymode(2);
X  
X
X--- 77,88 -----
X  	int itmp;
X  	long atol();
X  
X+ 	if(!str)
X+ 	{
X+ 		ERDEBUG(2,"expect string NULL\n",0);
X+ 		return(eExpectRespondFail);
X+ 	}
X+ 
X  	if(old_ttymode != 2)
X  		ttymode(2);
X  
X***************
X*** 129,135
X  	}
X  
X  	cptr = str;
X! 	while(remaining)
X  	{
X  		if(*cptr == '\\')
X  		{
X
X--- 138,144 -----
X  	}
X  
X  	cptr = str;
X! 	while(remaining && *cptr)
X  	{
X  		if(*cptr == '\\')
X  		{
X***************
X*** 174,180
X  	}
X  	*parsed = 0;
X  
X! 	if(remaining)
X  		ERDEBUG(1," expect string too long\n",0);
X  
X  	if(expresp_verbosity >= 3)
X
X--- 183,189 -----
X  	}
X  	*parsed = 0;
X  
X! 	if(!remaining)
X  		ERDEBUG(1," expect string too long\n",0);
X  
X  	if(expresp_verbosity >= 3)
X***************
X*** 244,250
X  					ltmp = atol(str + 1);
X  					str += strspn(str + 1,"0123456789");
X  					ldraino(0);	/* wait for output to drain */
X! 					nap(ltmp);
X  					break;
X  				case 'd':  /* delay (2 seconds) */
X  					ldraino(0);	/* wait for output to drain */
X
X--- 253,259 -----
X  					ltmp = atol(str + 1);
X  					str += strspn(str + 1,"0123456789");
X  					ldraino(0);	/* wait for output to drain */
X! 					nap((ltmp < hzmsec) ? hzmsec : ltmp);
X  					break;
X  				case 'd':  /* delay (2 seconds) */
X  					ldraino(0);	/* wait for output to drain */
X***************
X*** 281,287
X  					send_no_cr = 1;
X  					break;
X  				case 'n':  /* send new-line */
X! 					lputc(0x0D);
X  					break;
X  			}
X  
X
X--- 290,296 -----
X  					send_no_cr = 1;
X  					break;
X  				case 'n':  /* send new-line */
X! 					lputc(0x0A);
X  					break;
X  			}
X  
X***************
X*** 323,328
X  	expresp_echo_check = 0;
X  	last_Speed_result[0] = 0;
X  
X  	strncpy(expresp_copy,expresp_script,sizeof(expresp_copy));
X  	build_arg_array(expresp_copy,fields,MAX_FIELDS,&nfields);
X  	if(!nfields)	/* if no script, assume success */
X
X--- 332,340 -----
X  	expresp_echo_check = 0;
X  	last_Speed_result[0] = 0;
X  
X+ 	ERDEBUG(2,"[EXPECT/RESPOND INITIAL TIMEOUT %ld MSEC]\n",
X+ 		expect_timeout_msecs);
X+ 
X  	strncpy(expresp_copy,expresp_script,sizeof(expresp_copy));
X  	build_arg_array(expresp_copy,fields,MAX_FIELDS,&nfields);
X  	if(!nfields)	/* if no script, assume success */
X***************
X*** 338,344
X  		if(EXPECT_STATE)
X  		{
X  			expect_this = fields[ifields];
X! 			while(1)	/* until break or return(-1) */
X  			{
X  				if(send_on_fail = strchr(expect_this,'-'))
X  					*send_on_fail++ = 0;
X
X--- 350,356 -----
X  		if(EXPECT_STATE)
X  		{
X  			expect_this = fields[ifields];
X! 			while(1)	/* until break or return(error) */
X  			{
X  				if(send_on_fail = strchr(expect_this,'-'))
X  					*send_on_fail++ = 0;
X*** /u1/src/ecu310/hdbintf.c	Thu Jul 25 12:58:00 1991
X--- hdbintf.c	Mon Aug 12 02:44:14 1991
X***************
X*** 30,35
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X  /*:06-02-1991-17:42-wht@n4hgf-add getdvtype */
X  /*:06-02-1991-17:27-wht@n4hgf-add choose_device plus move choose_line here */
X
X--- 30,36 -----
X  
X  --------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-10-1991-17:39-wht@n4hgf-US_WEGOTIT handling */
X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X  /*:06-02-1991-17:42-wht@n4hgf-add getdvtype */
X  /*:06-02-1991-17:27-wht@n4hgf-add choose_device plus move choose_line here */
X***************
X*** 65,72
X  FILE *fpdl = NULL;
X  char *Devices_file = "/usr/lib/uucp/Devices";
X  char *Dialers_file = "/usr/lib/uucp/Dialers";
X- char *ungetty = (char *)0;
X- char ungetty_executable[128];
X  char ungetty_ttyname[64] = "";
X  
X  /*+-------------------------------------------------------------------------
X
X--- 66,71 -----
X  FILE *fpdl = NULL;
X  char *Devices_file = "/usr/lib/uucp/Devices";
X  char *Dialers_file = "/usr/lib/uucp/Dialers";
X  char ungetty_ttyname[64] = "";
X  
X  /*+-------------------------------------------------------------------------
X***************
X*** 75,83
X  ungetty_get_line()
X  {
X  int itmp;
X- #if defined(LOG_UNGETTY)
X- char ungetty_log[80];
X- #endif
X  int ungetty_pid;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status;
X
X--- 74,79 -----
X  ungetty_get_line()
X  {
X  int itmp;
X  int ungetty_pid;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status;
X***************
X*** 81,86
X  int ungetty_pid;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status;
X  char bamboozlement[20];
X  char *bamboozle();
X  
X
X--- 77,86 -----
X  int ungetty_pid;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status;
X+ char ungetty[128];
X+ #if defined(LOG_UNGETTY)
X+ char ungetty_log[80];
X+ #endif
X  char bamboozlement[20];
X  char *bamboozle();
X  
X***************
X*** 87,98
X  	if(!there_is_hdb_on_this_machine)
X  		return(LOPEN_ENABLED);
X  
X! 	if(!ungetty)
X! 	{
X! 		sprintf(ungetty_executable,"%s/ecuungetty",ECULIBDIR);
X! 		ungetty = ungetty_executable;
X! 	}
X! 
X  	strcpy(bamboozlement,bamboozle(getpid()));
X  	if(access(ungetty,1))
X  	{
X
X--- 87,93 -----
X  	if(!there_is_hdb_on_this_machine)
X  		return(LOPEN_ENABLED);
X  
X! 	sprintf(ungetty,"%s/ecuungetty",ECULIBDIR);
X  	strcpy(bamboozlement,bamboozle(getpid()));
X  	if(access(ungetty,1))
X  	{
X***************
X*** 149,154
X  int itmp;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status = 0xDEAD;
X  #if defined(LOG_UNGETTY)
X  char ungetty_log[80];
X  #endif
X
X--- 144,150 -----
X  int itmp;
X  SIGTYPE (*original_sighdlr)();
X  int wait_status = 0xDEAD;
X+ char ungetty[128];
X  #if defined(LOG_UNGETTY)
X  char ungetty_log[80];
X  #endif
X***************
X*** 163,168
X  	strcpy(bamboozlement,bamboozle(getpid()));
X  
X  	/* call ungetty to see if we need to switch to dialin */
X  	if(access(ungetty,1))
X  	{
X  		pperror(ungetty);
X
X--- 159,166 -----
X  	strcpy(bamboozlement,bamboozle(getpid()));
X  
X  	/* call ungetty to see if we need to switch to dialin */
X+ 	sprintf(ungetty,"%s/ecuungetty",ECULIBDIR);
X+ 	strcpy(bamboozlement,bamboozle(getpid()));
X  	if(access(ungetty,1))
X  	{
X  		pperror(ungetty);
X***************
X*** 548,553
X  {
X  struct dvent *dve = (struct dvent *)0;
X  char s32[32];
X  
X  #ifdef CHOOSE_DEBUG
X  	pprintf("\nchoose_line baud=%u\n",baud);
X
X--- 546,552 -----
X  {
X  struct dvent *dve = (struct dvent *)0;
X  char s32[32];
X+ int itmp;
X  
X  #ifdef CHOOSE_DEBUG
X  	pprintf("\nchoose_line baud=%u\n",baud);
X***************
X*** 587,593
X  	switch(utmp_status(shm->Lline))
X  	{
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 			if(line_locked(shm->Lline))
X  				goto GET_LINE_THAT_MATCHES_BAUD;
X  		case US_LOGIN:		/* enabled for login, idle */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X
X--- 586,592 -----
X  	switch(utmp_status(shm->Lline))
X  	{
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 			if((itmp = line_locked(shm->Lline)) && (itmp != LOPEN_WE_GOT_IT))
X  				goto GET_LINE_THAT_MATCHES_BAUD;
X  		case US_LOGIN:		/* enabled for login, idle */
X  		case US_WEGOTIT:	/* we already have the line */
X***************
X*** 590,595
X  			if(line_locked(shm->Lline))
X  				goto GET_LINE_THAT_MATCHES_BAUD;
X  		case US_LOGIN:		/* enabled for login, idle */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X  				return;
X  	}
X
X--- 589,595 -----
X  			if((itmp = line_locked(shm->Lline)) && (itmp != LOPEN_WE_GOT_IT))
X  				goto GET_LINE_THAT_MATCHES_BAUD;
X  		case US_LOGIN:		/* enabled for login, idle */
X+ 		case US_WEGOTIT:	/* we already have the line */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X  				return;
X  	}
X***************
X*** 617,623
X  		switch(utmp_status(s32))
X  		{
X  			case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 				if(line_locked(s32))
X  					continue;
X  			case US_LOGIN:		/* enabled for login, idle */
X  				strcpy(shm->Lline,s32);	/* @@@@@@@@@@@ MATCH @@@@@@@@@ */
X
X--- 617,623 -----
X  		switch(utmp_status(s32))
X  		{
X  			case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 				if(itmp = line_locked(s32))
X  					continue;
X  			case US_WEGOTIT:
X  #if defined(WHT) && defined(SHARE_DEBUG)
X***************
X*** 619,624
X  			case US_NOTFOUND:	/* not in utmp, or getty dead */
X  				if(line_locked(s32))
X  					continue;
X  			case US_LOGIN:		/* enabled for login, idle */
X  				strcpy(shm->Lline,s32);	/* @@@@@@@@@@@ MATCH @@@@@@@@@ */
X  				shm->Lline[9] = to_lower(shm->Lline[9]);
X
X--- 619,628 -----
X  			case US_NOTFOUND:	/* not in utmp, or getty dead */
X  				if(itmp = line_locked(s32))
X  					continue;
X+ 			case US_WEGOTIT:
X+ #if defined(WHT) && defined(SHARE_DEBUG)
X+ 				ecu_log_event(getpid(),"looking for line found we own it");
X+ #endif
X  			case US_LOGIN:		/* enabled for login, idle */
X  				strcpy(shm->Lline,s32);	/* @@@@@@@@@@@ MATCH @@@@@@@@@ */
X  				shm->Lline[9] = to_lower(shm->Lline[9]);
X***************
X*** 702,707
X   */
X  	switch(utmp_status(shm->Lline))
X  	{
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X  			if(line_locked(shm->Lline))
X  				goto GET_LINE_THAT_MATCHES_TYPE;
X
X--- 706,716 -----
X   */
X  	switch(utmp_status(shm->Lline))
X  	{
X+ 		case US_WEGOTIT:
X+ #ifdef CHOOSE_DEBUG
X+ 			pprintf("we own the line\n");
X+ #endif
X+ 			return(0);
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X  			if(line_locked(s32))
X  				goto GET_LINE_THAT_MATCHES_TYPE;
X***************
X*** 703,709
X  	switch(utmp_status(shm->Lline))
X  	{
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 			if(line_locked(shm->Lline))
X  				goto GET_LINE_THAT_MATCHES_TYPE;
X  		case US_LOGIN:		/* enabled for login, idle */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X
X--- 712,718 -----
X  #endif
X  			return(0);
X  		case US_NOTFOUND:	/* not in utmp, or getty dead */
X! 			if(line_locked(s32))
X  				goto GET_LINE_THAT_MATCHES_TYPE;
X  		case US_LOGIN:		/* enabled for login, idle */
X  			if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X***************
X*** 740,745
X  					continue;
X  				/* fall through */
X  
X  			case US_LOGIN:		/* enabled for login, idle */
X  				if((dve->low_baud > baud) || (baud > dve->high_baud))
X  					continue;
X
X--- 749,758 -----
X  					continue;
X  				/* fall through */
X  
X+ 			case US_WEGOTIT:	/* we own the line */
X+ #if defined(LOG_HDBDIAL)
X+ 			pprintf("we own the line we just passed on using!\n");
X+ #endif
X  			case US_LOGIN:		/* enabled for login, idle */
X  				if((dve->low_baud > baud) || (baud > dve->high_baud))
X  					continue;
X***************
X*** 944,950
X  	{
X  		if(access(dve->dialprog,1))
X  		{
X! 			pperror(ungetty);
X  			pputs("trying ecu dialer\n");
X  			return(4);
X  		}
X
X--- 957,963 -----
X  	{
X  		if(access(dve->dialprog,1))
X  		{
X! 			pperror(dve->dialprog);
X  			pputs("trying ecu dialer\n");
X  			return(4);
X  		}
X*** /u1/src/ecu310/help/ecuhelp.src	Thu Jul 25 04:51:00 1991
X--- help/ecuhelp.src	Sat Aug 10 18:14:43 1991
X***************
X*** 231,236
X  are meaningful only when used in conjunction with a filename to start
X  logging.
X  #--------------------------------------------------------------------
X  %nl
X  Usage: nl
X  
X
X--- 231,241 -----
X  are meaningful only when used in conjunction with a filename to start
X  logging.
X  #--------------------------------------------------------------------
X+ %memstat
X+ Usage: memstat
X+ 
X+ Experimental malloc display.  -lmalloc bug may report erroneous data.
X+ #--------------------------------------------------------------------
X  %nl
X  Usage: nl
X  
X*** /u1/src/ecu310/kbdtest3.c	Thu Jul 25 12:58:00 1991
X--- kbdtest3.c	Sat Aug 10 18:21:07 1991
X***************
X*** 1,4
X! /* CHK=0x134E */
X  /*+-----------------------------------------------------------------------
X  	kbdtest3.c -- test keyboard values
X  	wht@n4hgf.Mt-Park.GA.US
X
X--- 1,5 -----
X! /* CHK=0x2F4F */
X! char *revision = "1.01";
X  /*+-----------------------------------------------------------------------
X  	kbdtest3.c -- test keyboard values
X  	wht@n4hgf.Mt-Park.GA.US
X***************
X*** 22,27
X  
X  ------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X  /*:04-29-1991-18:24-wht@n4hgf-let us see what keyboards say */
X  
X
X--- 23,30 -----
X  
X  ------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X+ /*:08-06-1991-13:12-wht@n4hgf-add parity reporting */
X+ /*:08-06-1991-13:12-wht@n4hgf-some terminals reinvent parity bit's use */
X  /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X  /*:04-29-1991-18:24-wht@n4hgf-let us see what keyboards say */
X  
X***************
X*** 61,66
X  	"\n",
X  	"If you press a key but don't see further activity after a second or two\n",
X  	"press the slash '/' key unless you can choose a reasonable alternate.\n",
X  	(char *)0
X  };
X  
X
X--- 64,72 -----
X  	"\n",
X  	"If you press a key but don't see further activity after a second or two\n",
X  	"press the slash '/' key unless you can choose a reasonable alternate.\n",
X+ 	"\n",
X+ 	"Do not use the same key for more than one function.\n",
X+ 	"\n",
X  	(char *)0
X  };
X  
X***************
X*** 65,71
X  };
X  
X  char *strs_thanks[] = {
X! 	"\n\n",
X  	"Thank you.  If you wish to mail me the contents of kbdtest3.out,\n",
X  	"please include  a detailed description of the system and software\n",
X  	"(i.e., \"Metrolink xterm keyboard on SCO 3.2r2\")\n",
X
X--- 71,77 -----
X  };
X  
X  char *strs_thanks[] = {
X! 	"\n",
X  	"Thank you.  If you wish to mail me the contents of kbdtest3.out,\n",
X  	"please include  a detailed description of the system and software\n",
X  	"(i.e., \"Metrolink xterm keyboard on SCO 3.2r2\")\n",
X***************
X*** 109,114
X  	{(char *)0,(char *)0}
X  };
X  
X  static FILE *dumpfp;
X  
X  /*+-------------------------------------------------------------------------
X
X--- 115,121 -----
X  	{(char *)0,(char *)0}
X  };
X  
X+ char *parity_text = "<undetermined>";
X  static FILE *dumpfp;
X  
X  /*+-------------------------------------------------------------------------
X***************
X*** 263,269
X  register char ch;
X  int incl_3char;
X  {
X! static char gg[4];
X  char *ascii_ctlstr =
X  "nulsohstxetxeotenqackbelbs ht nl vt ff cr so si dledc1dc2dc3dc4naksynetbcanem subescfs gs rs us sp ";
X  
X
X--- 270,276 -----
X  register char ch;
X  int incl_3char;
X  {
X! static char gg[8];
X  char *ascii_ctlstr =
X  "nulsohstxetxeotenqackbelbs ht nl vt ff cr so si dledc1dc2dc3dc4naksynetbcanem subescfs gs rs us sp ";
X  
X***************
X*** 267,274
X  char *ascii_ctlstr =
X  "nulsohstxetxeotenqackbelbs ht nl vt ff cr so si dledc1dc2dc3dc4naksynetbcanem subescfs gs rs us sp ";
X  
X- 	ch &= 0x7F;
X- 
X  	if(ch == 0x7F)
X  		strcpy(gg,"del");
X  	else if(ch > 0x20)
X
X--- 274,279 -----
X  char *ascii_ctlstr =
X  "nulsohstxetxeotenqackbelbs ht nl vt ff cr so si dledc1dc2dc3dc4naksynetbcanem subescfs gs rs us sp ";
X  
X  	if(ch == 0x7F)
X  		strcpy(gg,"del");
X  	else if(ch > 0x7F)
X***************
X*** 271,276
X  
X  	if(ch == 0x7F)
X  		strcpy(gg,"del");
X  	else if(ch > 0x20)
X  	{
X  		gg[0] = ch;
X
X--- 276,283 -----
X  
X  	if(ch == 0x7F)
X  		strcpy(gg,"del");
X+ 	else if(ch > 0x7F)
X+ 		sprintf(gg,"0x%02x",(unsigned char)ch);
X  	else if(ch > 0x20)
X  	{
X  		gg[0] = ch;
X***************
X*** 357,363
X  unsigned char *buf;
X  int max;
X  {
X- int itmp;
X  int count = read(TTYIN,buf,max);
X  
X  	for(itmp = 0; itmp < count; itmp++)
X
X--- 364,369 -----
X  unsigned char *buf;
X  int max;
X  {
X  int count = read(TTYIN,buf,max);
X  
X  #ifdef notdef
X***************
X*** 360,365
X  int itmp;
X  int count = read(TTYIN,buf,max);
X  
X  	for(itmp = 0; itmp < count; itmp++)
X  		buf[itmp] &= 0x7F;
X  	return(count);
X
X--- 366,373 -----
X  {
X  int count = read(TTYIN,buf,max);
X  
X+ #ifdef notdef
X+ int itmp;
X  	for(itmp = 0; itmp < count; itmp++)
X  		buf[itmp] &= 0x7F;
X  #endif
X***************
X*** 362,367
X  
X  	for(itmp = 0; itmp < count; itmp++)
X  		buf[itmp] &= 0x7F;
X  	return(count);
X  
X  }	/* end of read_kbd_string */
X
X--- 370,376 -----
X  int itmp;
X  	for(itmp = 0; itmp < count; itmp++)
X  		buf[itmp] &= 0x7F;
X+ #endif
X  	return(count);
X  
X  }	/* end of read_kbd_string */
X***************
X*** 366,371
X  
X  }	/* end of read_kbd_string */
X  
X  
X  /*+-----------------------------------------------------------------------
X  	main()
X
X--- 375,389 -----
X  
X  }	/* end of read_kbd_string */
X  
X+ /*+-------------------------------------------------------------------------
X+ 	termio_parity_text(cflag)
X+ --------------------------------------------------------------------------*/
X+ char *
X+ termio_parity_text(cflag)
X+ unsigned short cflag;
X+ {
X+ 	 return((cflag & PARENB) ? ((cflag & PARODD) ? "odd" : "even") : "none");
X+ }	/* end of termio_parity_text */
X  
X  /*+-----------------------------------------------------------------------
X  	main()
X***************
X*** 378,383
X  int count;
X  struct keyname *need = need_names;
X  unsigned char instr[VMIN_VALUE + 1];
X  FILE *fpout;
X  long now;
X  int errflg = 0;
X
X--- 396,402 -----
X  int count;
X  struct keyname *need = need_names;
X  unsigned char instr[VMIN_VALUE + 1];
X+ char s128[128];
X  FILE *fpout;
X  long now;
X  int errflg = 0;
X***************
X*** 418,423
X  		exit(1);
X  	}
X  
X  	if(!hex_out)
X  	{
X  	char *ttype;
X
X--- 437,446 -----
X  		exit(1);
X  	}
X  
X+ 	ioctl(TTYIN,TCGETA,&tv0);		/* get original status */
X+ 	k3ttymode(2);
X+ 	parity_text = termio_parity_text(tv.c_cflag);
X+ 
X  	if(!hex_out)
X  	{
X  	char *ttype;
X***************
X*** 425,431
X  			ttype = "??";
X  		time(&now);
X  		fprintf(fpout,"# nonansikey definition for TERM='%s'\n",ttype);
X! 		fprintf(fpout,"# built by kbdtest3.c %s",ctime(&now));
X  		fprintf(fpout,"%s\n",ttype);
X  	}
X  
X
X--- 448,464 -----
X  			ttype = "??";
X  		time(&now);
X  		fprintf(fpout,"# nonansikey definition for TERM='%s'\n",ttype);
X! 		fprintf(fpout,"# built by kbdtest3 %s %s",revision,ctime(&now));
X! 		fprintf(fpout,"# keyboard parity required = %s\n",parity_text);
X! 		fprintf(fpout,"# stty -a at kbdtest3 execution time:\n");
X! 		fclose(fpout);
X! 		sprintf(s128,"/bin/stty -a | /bin/sed -e 's/^/# /' >> %s\n",outfile);
X! 		system(s128);
X! 		if(!(fpout = fopen(outfile,"a")))
X! 		{
X! 			perror(outfile);
X! 			exit(1);
X! 		}
X  		fprintf(fpout,"%s\n",ttype);
X  	}
X  
X***************
X*** 429,436
X  		fprintf(fpout,"%s\n",ttype);
X  	}
X  
X- 	ioctl(TTYIN,TCGETA,&tv0);		/* get original status */
X- 	k3ttymode(2);
X  	printf("press ^D (0x04) to terminate program early\n\n");
X  
X  	while(need->ecuname)
X
X--- 462,467 -----
X  		fprintf(fpout,"%s\n",ttype);
X  	}
X  
X  	printf("press ^D (0x04) to terminate program early\n\n");
X  
X  	while(need->ecuname)
X***************
X*** 471,476
X  		}
X  
X  		if((count == 1) && ((instr[0] & 0x7F) == 4))
X  			break;
X  
X  		need++;
X
X--- 502,509 -----
X  		}
X  
X  		if((count == 1) && ((instr[0] & 0x7F) == 4))
X+ 		{
X+ 			fputs("#Something is wrong with above entry.\n",fpout);
X  			break;
X  		}
X  
X***************
X*** 472,477
X  
X  		if((count == 1) && ((instr[0] & 0x7F) == 4))
X  			break;
X  
X  		need++;
X  	}
X
X--- 505,511 -----
X  		{
X  			fputs("#Something is wrong with above entry.\n",fpout);
X  			break;
X+ 		}
X  
X  		need++;
X  	}
X***************
X*** 480,485
X  	fclose(fpout);
X  	k3ttymode(0);
X  	if(!need->ecuname)
X  		tputstrs(strs_thanks);
X  	else
X  		printf("Something went wrong. Please try again.\n");
X
X--- 514,523 -----
X  	fclose(fpout);
X  	k3ttymode(0);
X  	if(!need->ecuname)
X+ 	{
X+ 		printf(
X+ 		"\nRemember to set keyboard parity to \"%s\" when using this entry.\n",
X+ 		parity_text);
X  		tputstrs(strs_thanks);
X  	}
X  	else
X***************
X*** 481,486
X  	k3ttymode(0);
X  	if(!need->ecuname)
X  		tputstrs(strs_thanks);
X  	else
X  		printf("Something went wrong. Please try again.\n");
X  	exit(0);
X
X--- 519,525 -----
X  		"\nRemember to set keyboard parity to \"%s\" when using this entry.\n",
X  		parity_text);
X  		tputstrs(strs_thanks);
X+ 	}
X  	else
X  	{
X  		printf("Something went wrong. Please try again.\n");
X***************
X*** 482,487
X  	if(!need->ecuname)
X  		tputstrs(strs_thanks);
X  	else
X  		printf("Something went wrong. Please try again.\n");
X  	exit(0);
X  
X
X--- 521,527 -----
X  		tputstrs(strs_thanks);
X  	}
X  	else
X+ 	{
X  		printf("Something went wrong. Please try again.\n");
X  	}
X  	exit(0);
X***************
X*** 483,488
X  		tputstrs(strs_thanks);
X  	else
X  		printf("Something went wrong. Please try again.\n");
X  	exit(0);
X  
X  }	/* end of main */
X
X--- 523,529 -----
X  	else
X  	{
X  		printf("Something went wrong. Please try again.\n");
X+ 	}
X  	exit(0);
X  
X  }	/* end of main */
X*** /u1/src/ecu310/lint_args.h	Thu Jul 25 12:58:00 1991
X--- lint_args.h	Mon Aug 12 00:10:40 1991
X***************
X*** 2,9
X  	lint_args.h
X  ------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X! /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X! /*:04-29-1991-00:16-afterlint-creation */
X  
X  #ifndef BUILDING_LINT_ARGS
X  #ifdef LINT_ARGS
X
X--- 2,8 -----
X  	lint_args.h
X  ------------------------------------------------------------------------*/
X  /*+:EDITS:*/
X! /*:08-12-1991-00:07-afterlint-creation */
X  
X  #ifndef BUILDING_LINT_ARGS
X  #ifdef LINT_ARGS
X***************
X*** 39,44
X  int cd_array_delete(char **,int );
X  int change_directory(char *,int );
X  int expand_dirname(char *,int );
X  void cd_array_delete_usage(void );
X  void cd_array_init(void );
X  void cd_array_read(void);
X
X--- 38,45 -----
X  int cd_array_delete(char **,int );
X  int change_directory(char *,int );
X  int expand_dirname(char *,int );
X+ int pop_directory(char *,int ,int );
X+ int push_directory(char *,int ,int );
X  void cd_array_delete_usage(void );
X  void cd_array_init(void );
X  void cd_array_read(void );
X***************
X*** 41,48
X  int expand_dirname(char *,int );
X  void cd_array_delete_usage(void );
X  void cd_array_init(void );
X! void cd_array_read(void);
X! void cd_array_save(void);
X  /* ecudump.c */
X  void hex_dump_fp(FILE *fp,char *str,int len,char *title,int terse_flag);
X  void dump_putc(char );
X
X--- 42,49 -----
X  int push_directory(char *,int ,int );
X  void cd_array_delete_usage(void );
X  void cd_array_init(void );
X! void cd_array_read(void );
X! void cd_array_save(void );
X  /* ecudump.c */
X  /* void hex_dump_fp(struct UNNAMED *fp,char *str,int len,char *title,int terse_flag); */
X  void dump_putc(char );
X***************
X*** 44,50
X  void cd_array_read(void);
X  void cd_array_save(void);
X  /* ecudump.c */
X! void hex_dump_fp(FILE *fp,char *str,int len,char *title,int terse_flag);
X  void dump_putc(char );
X  void dump_puts(char *);
X  void hex_dump(char *,int ,char *,int );
X
X--- 45,51 -----
X  void cd_array_read(void );
X  void cd_array_save(void );
X  /* ecudump.c */
X! /* void hex_dump_fp(struct UNNAMED *fp,char *str,int len,char *title,int terse_flag); */
X  void dump_putc(char );
X  void dump_puts(char *);
X  void hex_dump(char *,int ,char *,int );
X***************
X*** 57,63
X  int file_insert_to_line(int ,char **);
X  void file_insert_clear_xoff(void );
X  /* ecufkey.c */
X! int kde_fgets(char *buf,int bufsize,FILE *fp);
X  char *keyset_idstr(int );
X  int keyset_define_key(char *);
X  int keyset_idnum(char *);
X
X--- 58,64 -----
X  int file_insert_to_line(int ,char **);
X  void file_insert_clear_xoff(void );
X  /* ecufkey.c */
X! /* int kde_fgets(char *buf,int bufsize,struct UNNAMED *fp); */
X  char *keyset_idstr(int );
X  int keyset_define_key(char *);
X  int keyset_idnum(char *);
X***************
X*** 75,80
X  void shell(char *);
X  /* ecuicmaux.c */
X  int icmd_log(int ,int ,char **);
X  void display_ascii_names(void );
X  void icmd_conversion(int ,int ,char **);
X  void nlin_nlout_control(int ,int ,char **);
X
X--- 76,83 -----
X  void shell(char *);
X  /* ecuicmaux.c */
X  int icmd_log(int ,int ,char **);
X+ int pcmd_rlog(struct esd *);
X+ int rcvr_log_control(int ,int ,char **);
X  void display_ascii_names(void );
X  void icmd_conversion(int ,int ,char **);
X  void nlin_nlout_control(int ,int ,char **);
X***************
X*** 134,139
X  void build_revision_string(void );
X  /* ecuphone.c */
X  int check_curr_pde(void );
X  int dirw_display_config(void );
X  int lookup_logical_telno(void );
X  int pde_add_or_edit(struct phone_directory_entry *,int );
X
X--- 137,143 -----
X  void build_revision_string(void );
X  /* ecuphone.c */
X  int check_curr_pde(void );
X+ int copy_pde_to_lvar(struct phone_directory_entry *);
X  int dirw_display_config(void );
X  int lookup_logical_telno(void );
X  int pde_add_or_edit(struct phone_directory_entry *,int );
X***************
X*** 144,150
X  int want_pd_create(char *);
X  struct phone_directory_entry *pde_list_search(char *,int );
X  unsigned char dirw_get_cmd(char *);
X- int copy_pde_to_lvar(struct phone_directory_entry *);
X  void dirw_bot_msg(char *);
X  void dirw_cmd_line_setup(char *,char *);
X  void dirw_display(void );
X
X--- 148,153 -----
X  int want_pd_create(char *);
X  struct phone_directory_entry *pde_list_search(char *,int );
X  unsigned char dirw_get_cmd(char *);
X  void dirw_bot_msg(char *);
X  void dirw_cmd_line_setup(char *,char *);
X  void dirw_display(void );
X***************
X*** 236,242
X  void shmx_set_rcvr_log(char *,int ,int ,int );
X  /* ecusighdl.c */
X  char *termecu_code_text(int );
X- void start_rcvr_process(int );
X  void child_signals(void );
X  void termecu(int );
X  void kill_rcvr_process(int );
X
X--- 239,244 -----
X  void shmx_set_rcvr_log(char *,int ,int ,int );
X  /* ecusighdl.c */
X  char *termecu_code_text(int );
X  void child_signals(void );
X  void kill_rcvr_process(int );
X  void rcvr_SIGHUP_handler(void );
X***************
X*** 238,244
X  char *termecu_code_text(int );
X  void start_rcvr_process(int );
X  void child_signals(void );
X- void termecu(int );
X  void kill_rcvr_process(int );
X  void rcvr_SIGHUP_handler(void );
X  void rcvr_SIGINT_handler(void );
X
X--- 240,245 -----
X  /* ecusighdl.c */
X  char *termecu_code_text(int );
X  void child_signals(void );
X  void kill_rcvr_process(int );
X  void rcvr_SIGHUP_handler(void );
X  void rcvr_SIGINT_handler(void );
X***************
X*** 248,253
X  void rcvr_common_signal_handler(void );
X  void rcvr_death_handler(int );
X  void rcvr_signals(void );
X  void xmtr_SIGCLD_handler(void );
X  void xmtr_SIGHUP_handler(int );
X  void xmtr_SIGINT_handler(void );
X
X--- 249,256 -----
X  void rcvr_common_signal_handler(void );
X  void rcvr_death_handler(int );
X  void rcvr_signals(void );
X+ void start_rcvr_process(int );
X+ void termecu(int );
X  void xmtr_SIGCLD_handler(void );
X  void xmtr_SIGHUP_handler(int );
X  void xmtr_SIGINT_handler(void );
X***************
X*** 295,301
X  int get_ttymode(void );
X  int setcolor_internal(int ,char **);
X  int ttygets_esd(struct esd *,int ,int );
X- unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  unsigned int ttygetc(int );
X  void _setcolor(unsigned long );
X  void read_colors_file(void );
X
X--- 298,303 -----
X  int get_ttymode(void );
X  int setcolor_internal(int ,char **);
X  int ttygets_esd(struct esd *,int ,int );
X  unsigned int ttygetc(int );
X  unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  void _setcolor(unsigned long );
X***************
X*** 297,302
X  int ttygets_esd(struct esd *,int ,int );
X  unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  unsigned int ttygetc(int );
X  void _setcolor(unsigned long );
X  void read_colors_file(void );
X  void restore_initial_colors(void );
X
X--- 299,305 -----
X  int setcolor_internal(int ,char **);
X  int ttygets_esd(struct esd *,int ,int );
X  unsigned int ttygetc(int );
X+ unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  void _setcolor(unsigned long );
X  void get_initial_colors(void );
X  void read_colors_file(void );
X***************
X*** 298,303
X  unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  unsigned int ttygetc(int );
X  void _setcolor(unsigned long );
X  void read_colors_file(void );
X  void restore_initial_colors(void );
X  void ring_bell(void );
X
X--- 301,307 -----
X  unsigned int ttygetc(int );
X  unsigned long B_to_timeout_msec(unsigned short ,unsigned short );
X  void _setcolor(unsigned long );
X+ void get_initial_colors(void );
X  void read_colors_file(void );
X  void restore_initial_colors(void );
X  void ring_bell(void );
X***************
X*** 302,307
X  void restore_initial_colors(void );
X  void ring_bell(void );
X  void setcolor(unsigned long );
X  void ttyflush(int );
X  void ttygets(char *,int ,int,unsigned char *,int * );
X  void ttyinit(unsigned char );
X
X--- 306,312 -----
X  void restore_initial_colors(void );
X  void ring_bell(void );
X  void setcolor(unsigned long );
X+ void termio_to_kbd_chars(void );
X  void ttyflush(int );
X  void ttygets(char *,int ,int ,unsigned char *,int *);
X  void ttyinit(unsigned char );
X***************
X*** 303,309
X  void ring_bell(void );
X  void setcolor(unsigned long );
X  void ttyflush(int );
X! void ttygets(char *,int ,int,unsigned char *,int * );
X  void ttyinit(unsigned char );
X  void ttymode(int );
X  void ttynormal_opost(void );
X
X--- 308,314 -----
X  void setcolor(unsigned long );
X  void termio_to_kbd_chars(void );
X  void ttyflush(int );
X! void ttygets(char *,int ,int ,unsigned char *,int *);
X  void ttyinit(unsigned char );
X  void ttymode(int );
X  void ttynormal_opost(void );
X***************
X*** 331,338
X  int find_shell_chars(char *);
X  int get_curr_dir(char *,int );
X  int get_home_dir(char *);
X- int make_dirs(char *);
X- int mkdir(char *,int );
X  int yes_or_no(char *);
X  void build_arg_array(char *,char **,int ,int *);
X  void build_str_array(char *,char **,int ,int *);
X
X--- 336,341 -----
X  int find_shell_chars(char *);
X  int get_curr_dir(char *,int );
X  int get_home_dir(char *);
X  int yes_or_no(char *);
X  void build_arg_array(char *,char **,int ,int *);
X  void build_str_array(char *,char **,int ,int *);
X***************
X*** 348,354
X  void strip_trail_break(char *);
X  /* ecuwinutil.c */
X  int winget_single(struct _win_st *,char *,char *);
X! int wingets(struct _win_st *,int ,int ,char *,int ,unsigned char *,int,int *);
X  struct _win_st *window_create(char *,int ,int ,int ,int ,int );
X  void clear_area(struct _win_st *,int ,int ,int );
X  void clear_area_char(struct _win_st *,int ,int ,int ,char );
X
X--- 351,357 -----
X  void strip_trail_break(char *);
X  /* ecuwinutil.c */
X  int winget_single(struct _win_st *,char *,char *);
X! int wingets(struct _win_st *,int ,int ,char *,int ,unsigned char *,int ,int *);
X  struct _win_st *window_create(char *,int ,int ,int ,int ,int );
X  void clear_area(struct _win_st *,int ,int ,int );
X  void clear_area_char(struct _win_st *,int ,int ,int ,char );
X***************
X*** 362,368
X  char *signal_name_text(int );
X  int bell_alarm(int );
X  int kbd_escape(unsigned char );
X- int morse_bell(int ,int );
X  int show_escape_prompt(void );
X  void bell_notify(int );
X  void send_bell_fd(int ,int ,int );
X
X--- 365,370 -----
X  char *signal_name_text(int );
X  int bell_alarm(int );
X  int kbd_escape(unsigned char );
X  int show_escape_prompt(void );
X  void bell_notify(int );
X  void send_bell_fd(int ,int ,int );
X***************
X*** 387,394
X  void xfrws_display_name(void );
X  void xfrws_display_xfernew(void );
X  /* esdutil.c */
X! int esdfgets(struct esd *param,FILE *fileptr);
X! int esdfputs(struct esd *param,FILE *fileptr,int index_flag,int nl_flag);
X  int end_of_cmd(struct esd *);
X  int esdcat(struct esd *,struct esd *,int );
X  int esdrealloc(struct esd *,int );
X
X--- 389,396 -----
X  void xfrws_display_name(void );
X  void xfrws_display_xfernew(void );
X  /* esdutil.c */
X! /* int esdfgets(struct esd *tesd,struct UNNAMED *fileptr); */
X! /* int esdfputs(struct esd *tesd,struct UNNAMED *fileptr,int index_flag,int nl_flag); */
X  int end_of_cmd(struct esd *);
X  int esdcat(struct esd *,struct esd *,int );
X  int esdrealloc(struct esd *,int );
X***************
X*** 421,437
X  int pcmd_expresp(struct esd *);
X  void respond(char *);
X  /* fasiintf.c */
X- char *ier_text(unsigned char );
X- char *lcr_text(unsigned char );
X- char *mcr_text(unsigned char );
X- char *msr_text(unsigned char );
X- int pcmd_fasi(struct esd *);
X- unsigned char fasi_msr(void );
X- unsigned long fasi_breaks_detected(void );
X- unsigned long fasi_line_errors(void );
X- unsigned long fasi_rings_detected(void );
X- void display_fasi(struct fas_info *);
X- void icmd_fasi(int ,char **);
X  /* feval.c */
X  int feval_int(struct esd *,long *);
X  int feval_str(struct esd *,struct esd *);
X
X--- 423,428 -----
X  int pcmd_expresp(struct esd *);
X  void respond(char *);
X  /* fasiintf.c */
X  /* feval.c */
X  int feval_int(struct esd *,long *);
X  int feval_str(struct esd *,struct esd *);
X***************
X*** 446,453
X  /* gstr.c */
X  int gstr(struct esd *,struct esd *,int );
X  /* hdbintf.c */
X- int choose_device(char *,unsigned int );
X- void choose_line(unsigned int );
X  char *hdb_dial_error_text(int );
X  int hdb_dial(char **);
X  int ungetty_get_line(void );
X
X--- 437,442 -----
X  /* gstr.c */
X  int gstr(struct esd *,struct esd *,int );
X  /* hdbintf.c */
X  char *hdb_dial_error_text(int );
X  int choose_device(char *,unsigned int );
X  int dvtype_match(char *,char *);
X***************
X*** 449,454
X  int choose_device(char *,unsigned int );
X  void choose_line(unsigned int );
X  char *hdb_dial_error_text(int );
X  int hdb_dial(char **);
X  int ungetty_get_line(void );
X  struct dlent *getdlent(void );
X
X--- 438,445 -----
X  int gstr(struct esd *,struct esd *,int );
X  /* hdbintf.c */
X  char *hdb_dial_error_text(int );
X+ int choose_device(char *,unsigned int );
X+ int dvtype_match(char *,char *);
X  int hdb_dial(char **);
X  int ungetty_get_line(void );
X  struct dlent *getdlent(void );
X***************
X*** 457,462
X  struct dvent *getdvent(void );
X  struct dvent *getdvline(char *);
X  struct dvent *getdvtype(char *);
X  void dialstr_translate(char *,char *);
X  void enddlent(void );
X  void enddvent(void );
X
X--- 448,454 -----
X  struct dvent *getdvent(void );
X  struct dvent *getdvline(char *);
X  struct dvent *getdvtype(char *);
X+ void choose_line(unsigned int );
X  void dialstr_translate(char *,char *);
X  void enddlent(void );
X  void enddvent(void );
X***************
X*** 488,493
X  int pcmd_nap(struct esd *);
X  int pcmd_nice(struct esd *);
X  int pcmd_parity(struct esd *);
X  int pcmd_prompt(struct esd *);
X  int pcmd_ptrace(struct esd *);
X  int pcmd_putf(struct esd *);
X
X--- 480,486 -----
X  int pcmd_nap(struct esd *);
X  int pcmd_nice(struct esd *);
X  int pcmd_parity(struct esd *);
X+ int pcmd_popd(struct esd *);
X  int pcmd_prompt(struct esd *);
X  int pcmd_ptrace(struct esd *);
X  int pcmd_pushd(struct esd *);
X***************
X*** 490,495
X  int pcmd_parity(struct esd *);
X  int pcmd_prompt(struct esd *);
X  int pcmd_ptrace(struct esd *);
X  int pcmd_putf(struct esd *);
X  int pcmd_rname(struct esd *);
X  int pcmd_rtscts(struct esd *);
X
X--- 483,489 -----
X  int pcmd_popd(struct esd *);
X  int pcmd_prompt(struct esd *);
X  int pcmd_ptrace(struct esd *);
X+ int pcmd_pushd(struct esd *);
X  int pcmd_putf(struct esd *);
X  int pcmd_rname(struct esd *);
X  int pcmd_rtscts(struct esd *);
X***************
X*** 730,736
X  /* ecuphone.c */
X  struct phone_directory_entry *pde_list_search();
X  unsigned char dirw_get_cmd();
X- int copy_pde_to_lvar();
X  void dirw_bot_msg();
X  void dirw_cmd_line_setup();
X  void dirw_display();
X
X--- 724,729 -----
X  /* ecuphone.c */
X  struct phone_directory_entry *pde_list_search();
X  unsigned char dirw_get_cmd();
X  void dirw_bot_msg();
X  void dirw_cmd_line_setup();
X  void dirw_display();
X***************
X*** 816,822
X  /* ecusighdl.c */
X  char *termecu_code_text();
X  void child_signals();
X- void termecu();
X  void kill_rcvr_process();
X  void rcvr_SIGHUP_handler();
X  void rcvr_SIGINT_handler();
X
X--- 809,814 -----
X  /* ecusighdl.c */
X  char *termecu_code_text();
X  void child_signals();
X  void kill_rcvr_process();
X  void rcvr_SIGHUP_handler();
X  void rcvr_SIGINT_handler();
X***************
X*** 826,831
X  void rcvr_common_signal_handler();
X  void rcvr_death_handler();
X  void rcvr_signals();
X  void xmtr_SIGCLD_handler();
X  void xmtr_SIGHUP_handler();
X  void xmtr_SIGINT_handler();
X
X--- 818,825 -----
X  void rcvr_common_signal_handler();
X  void rcvr_death_handler();
X  void rcvr_signals();
X+ void start_rcvr_process();
X+ void termecu();
X  void xmtr_SIGCLD_handler();
X  void xmtr_SIGHUP_handler();
X  void xmtr_SIGINT_handler();
X***************
X*** 866,872
X  char *get_tod();
X  /* ecutty.c */
X  char *get_ttyname();
X- unsigned long B_to_timeout_msec();
X  unsigned int ttygetc();
X  void _setcolor();
X  void read_colors_file();
X
X--- 860,865 -----
X  char *get_tod();
X  /* ecutty.c */
X  char *get_ttyname();
X  unsigned int ttygetc();
X  unsigned long B_to_timeout_msec();
X  void _setcolor();
X***************
X*** 868,873
X  char *get_ttyname();
X  unsigned long B_to_timeout_msec();
X  unsigned int ttygetc();
X  void _setcolor();
X  void read_colors_file();
X  void restore_initial_colors();
X
X--- 861,867 -----
X  /* ecutty.c */
X  char *get_ttyname();
X  unsigned int ttygetc();
X+ unsigned long B_to_timeout_msec();
X  void _setcolor();
X  void get_initial_colors();
X  void read_colors_file();
X***************
X*** 869,874
X  unsigned long B_to_timeout_msec();
X  unsigned int ttygetc();
X  void _setcolor();
X  void read_colors_file();
X  void restore_initial_colors();
X  void ring_bell();
X
X--- 863,869 -----
X  unsigned int ttygetc();
X  unsigned long B_to_timeout_msec();
X  void _setcolor();
X+ void get_initial_colors();
X  void read_colors_file();
X  void restore_initial_colors();
X  void ring_bell();
X***************
X*** 873,878
X  void restore_initial_colors();
X  void ring_bell();
X  void setcolor();
X  void ttyflush();
X  void ttygets();
X  void ttyinit();
X
X--- 868,874 -----
X  void restore_initial_colors();
X  void ring_bell();
X  void setcolor();
X+ void termio_to_kbd_chars();
X  void ttyflush();
X  void ttygets();
X  void ttyinit();
X***************
X*** 950,965
X  /* expresp.c */
X  void respond();
X  /* fasiintf.c */
X- char *ier_text();
X- char *lcr_text();
X- char *mcr_text();
X- char *msr_text();
X- unsigned char fasi_msr();
X- unsigned long fasi_breaks_detected();
X- unsigned long fasi_line_errors();
X- unsigned long fasi_rings_detected();
X- void display_fasi();
X- void icmd_fasi();
X  /* feval.c */
X  /* gint.c */
X  /* gstr.c */
X
X--- 946,951 -----
X  /* expresp.c */
X  void respond();
X  /* fasiintf.c */
X  /* feval.c */
X  /* gint.c */
X  /* gstr.c */
X***************
X*** 964,971
X  /* gint.c */
X  /* gstr.c */
X  /* hdbintf.c */
X- int choose_device();
X- void choose_line();
X  char *hdb_dial_error_text();
X  struct dlent *getdlent();
X  struct dlent *getdlentname();
X
X--- 950,955 -----
X  /* gint.c */
X  /* gstr.c */
X  /* hdbintf.c */
X  char *hdb_dial_error_text();
X  struct dlent *getdlent();
X  struct dlent *getdlentname();
X***************
X*** 973,978
X  struct dvent *getdvent();
X  struct dvent *getdvline();
X  struct dvent *getdvtype();
X  void dialstr_translate();
X  void enddlent();
X  void enddvent();
X
X--- 957,963 -----
X  struct dvent *getdvent();
X  struct dvent *getdvline();
X  struct dvent *getdvtype();
X+ void choose_line();
X  void dialstr_translate();
X  void enddlent();
X  void enddvent();
SHAR_EOF
$TOUCH -am 0812040291 'PATCH1.02' &&
chmod 0644 PATCH1.02 ||
echo 'restore of PATCH1.02 failed'
Wc_c="`wc -c < 'PATCH1.02'`"
test 49101 -eq "$Wc_c" ||
	echo 'PATCH1.02: original size 49101, current size' "$Wc_c"
true || echo 'restore of PATCH1.03 failed'
echo End of part 2, continue with part 3
exit 0

exit 0 # Just in case...
-- 
Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
Sterling Software, IMD           UUCP:     uunet!sparky!kent
Phone:    (402) 291-8300         FAX:      (402) 291-4362
Please send comp.sources.misc-related mail to kent@uunet.uu.net.


