home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume22
/
ecu
/
patch05c
< prev
next >
Wrap
Text File
|
1991-09-04
|
51KB
|
1,734 lines
Newsgroups: comp.sources.misc
From: Warren Tucker <wht@n4hgf.GA.US>
Subject: v22i092: ecu - ECU async comm package rev 3.10, Patch05c/5
Message-ID: <1991Sep4.160214.28374@sparky.IMD.Sterling.COM>
X-Md4-Signature: 81dac3ce604f8b13ad3babeddb1e420b
Date: Wed, 4 Sep 1991 16:02:14 GMT
Approved: kent@sparky.imd.sterling.com
Submitted-by: Warren Tucker <wht@n4hgf.GA.US>
Posting-number: Volume 22, Issue 92
Archive-name: ecu/patch05c
Environment: SCO, XENIX, ISC, SUNOS4.1, SYSVR4
Patch-To: ecu: Volume 21, Issue 53-89
#!/bin/sh
# this is p5.03 (part 3 of ecu/patch05)
# do not concatenate these parts, unpack them in order with /bin/sh
# file PATCH5.01 continued
#
if test ! -r _shar_seq_.tmp; then
echo 'Please unpack part 1 first!'
exit 1
fi
(read Scheck
if test "$Scheck" != 3; then
echo Please unpack part "$Scheck" next!
exit 1
else
exit 0
fi
) < _shar_seq_.tmp || exit 1
if test ! -f _shar_wnt_.tmp; then
echo 'x - still skipping PATCH5.01'
else
echo 'x - continuing file PATCH5.01'
sed 's/^X//' << 'SHAR_EOF' >> 'PATCH5.01' &&
X #endif
X
X- #ifdef WHT /* for testing */
X- extern int tty_is_ansi;
X- #endif
X extern int tty_is_multiscreen;
X
X unsigned char sTL = at_TL;
X--- 41,46 ----
X*** /export/home/wht/src/ecu314/ecuxenix.c Wed Sep 4 00:25:07 1991
X--- ecuxenix.c Tue Sep 3 19:45:23 1991
X***************
X*** 23,29 ****
X This module is a grab bag for historical reasons. Needs reorg.
X ------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
X /*:08-13-1991-15:28-wht@n4hgf-more problems with history manager */
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--- 23,30 ----
X This module is a grab bag for historical reasons. Needs reorg.
X ------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:09-03-1991-18:23-wht@n4hgf-sigint rearrangement in send_get_response */
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
X /*:08-13-1991-15:28-wht@n4hgf-more problems with history manager */
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***************
X*** 58,64 ****
X extern char keyset_name[];
X extern int want_bell_notify; /* want bell notify */
X extern int rcvr_pid;
X- extern int sigint;
X extern int tty_is_multiscreen;
X
X ESD *icmd_prompt; /* interactive command prompt */
X--- 59,64 ----
X***************
X*** 131,136 ****
X--- 131,137 ----
X int ttygets_flags = TG_XDELIM;
X uchar delim;
X int strpos;
X+ int old_ttymode = get_ttymode();
X register backspace_count;
X register KDE *tkde;
X uchar icmd_buf[128];
X***************
X*** 150,156 ****
X ring_bell();
X sigint = 0;
X proc_file_reset();
X! ttymode(1);
X if(rcvr_alive)
X start_rcvr_process(0);
X return(1);
X--- 151,157 ----
X ring_bell();
X sigint = 0;
X proc_file_reset();
X! ttymode(old_ttymode);
X if(rcvr_alive)
X start_rcvr_process(0);
X return(1);
X***************
X*** 462,478 ****
X file = "/usr/demo/SOUND/sounds/gong.au";
X break;
X case XBELL_ATTENTION:
X! file = "/usr/demo/SOUND/sounds/whistle.au";
X break;
X case XBELL_C:
X! file = "/usr/demo/SOUND/sounds/whistle.au";
X break;
X case XBELL_3T:
X! file = "/usr/demo/SOUND/sounds/doorbell.au";
X break;
X default:
X break;
X }
X } /* end of audio_notify */
X #endif
X
X--- 463,481 ----
X file = "/usr/demo/SOUND/sounds/gong.au";
X break;
X case XBELL_ATTENTION:
X! file = "/usr/demo/SOUND/sounds/clink.au";
X break;
X case XBELL_C:
X! file = "/usr/demo/SOUND/sounds/touchtone.[159].au";
X break;
X case XBELL_3T:
X! file = "/usr/demo/SOUND/sounds/cowbell.au";
X break;
X default:
X+ file = "/usr/demo/SOUND/sounds/whistle.au";
X break;
X }
X+ audio_play(file);
X } /* end of audio_notify */
X #endif
X
X***************
X*** 555,561 ****
X {
X #if defined(M_SYSV)
X if(
X! #ifndef WHT
X tty_is_multiscreen &&
X #endif
X want_bell_notify)
X--- 558,564 ----
X {
X #if defined(M_SYSV)
X if(
X! #if !defined(WHT) && !defined(PTY_BELL_NOTIFY)
X tty_is_multiscreen &&
X #endif
X want_bell_notify)
X***************
X*** 708,735 ****
X lr.bufsize = sizeof(buf);
X lr.delim = (char *)0;
X lr.echo_flag = 0;
X- sigint = 0;
X
X /*
X * stimulus/response
X */
X! fputs(" ... wait ... ",se);
X respond(arg[2]);
X! lgets_timeout(&lr);
X! fputs("done\r\n",se);
X
X! /*
X! * log response if possible and display on screen
X! */
X! if((fplog = fopen(fname,"a")) == NULL)
X! pperror(fname);
X else
X {
X! fprintf(fplog,"\nMode: %d Stimulus: %s",mode,arg[2]);
X! hex_dump_fp(fplog,buf,lr.count,"Response",(lr.count <= 16));
X! fclose(fplog);
X }
X! hex_dump(buf,lr.count,"Response",(lr.count <= 16));
X if(rcvr_alive)
X start_rcvr_process(0);
X } /* end of send_get_response */
X--- 711,749 ----
X lr.bufsize = sizeof(buf);
X lr.delim = (char *)0;
X lr.echo_flag = 0;
X
X /*
X * stimulus/response
X */
X! ff(se," ... wait ... ");
X respond(arg[2]);
X! if(!sigint)
X! {
X! lgets_timeout(&lr);
X! if(sigint)
X! goto INTERRUPTED;
X! ff(se,"done\r\n");
X
X! /*
X! * log response if possible and display on screen
X! */
X! if((fplog = fopen(fname,"a")) == NULL)
X! pperror(fname);
X! else
X! {
X! fprintf(fplog,"\nMode: %d Stimulus: %s",mode,arg[2]);
X! hex_dump_fp(fplog,buf,lr.count,"Response",(lr.count <= 16));
X! fclose(fplog);
X! }
X! hex_dump(buf,lr.count,"Response",(lr.count <= 16));
X! }
X else
X {
X! INTERRUPTED:
X! sigint = 0;
X! ff(se,"interrupted\r\n");
X }
X!
X if(rcvr_alive)
X start_rcvr_process(0);
X } /* end of send_get_response */
X***************
X*** 737,743 ****
X /*+-------------------------------------------------------------------------
X xterm_title(text,code) - experimental - watch this space
X --------------------------------------------------------------------------*/
X! #ifdef WHT
X void
X xterm_title(text,code)
X char *text;
X--- 751,757 ----
X /*+-------------------------------------------------------------------------
X xterm_title(text,code) - experimental - watch this space
X --------------------------------------------------------------------------*/
X! #if defined(WHT) || defined(XTERM_FRIEND)
X void
X xterm_title(text,code)
X char *text;
X*** /export/home/wht/src/ecu314/ecuxfer.c Wed Sep 4 00:25:07 1991
X--- ecuxfer.c Mon Sep 2 20:51:43 1991
X***************
X*** 35,41 ****
X
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
X /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
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--- 35,41 ----
X
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
X /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
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***************
X*** 475,489 ****
X p_overwrite = 1; /* assume overwrite */
X p_xfernew = 0; /* assume send only newer */
X p_filelist[0] = 0; /* no filenames yet */
X! #ifdef WHT
X! #ifdef M_I286
X! zwindw_size = 65472; /* my preference */
X #else
X! zwindw_size = 65536; /* my preference */
X! #endif
X #else
X! zwindw_size = 0; /* assume full streaming sz */
X! #endif
X
X switch(to_lower(*(argv[0] + 1)))
X {
X--- 475,489 ----
X p_overwrite = 1; /* assume overwrite */
X p_xfernew = 0; /* assume send only newer */
X p_filelist[0] = 0; /* no filenames yet */
X! #if defined(WHT)
X! zwindw_size = 65536; /* my preference */
X #else
X! #if defined(DEFAULT_SZ_WINDOW)
X! zwindw_size = DEFAULT_SZ_WINDOW_SIZE; /* your preference */
X #else
X! zwindw_size = 0; /* default to full streaming sz */
X! #endif /* DEFAULT_SZ_WINDOW */
X! #endif /* WHT */
X
X switch(to_lower(*(argv[0] + 1)))
X {
X***************
X*** 855,861 ****
X ff(se,"wierd 2\r\n");
X }
X
X! lreset_ksr();
X
X switch(xfertype)
X {
X--- 855,861 ----
X ff(se,"wierd 2\r\n");
X }
X
X! lreset_ksr(); /* ensure line termio back to our config */
X
X switch(xfertype)
X {
X***************
X*** 912,917 ****
X--- 912,918 ----
X default: ff(se,"receive command invalid\n");
X return;
X }
X+
X
X if(xfertype == ECURZ_X)
X {
X*** /export/home/wht/src/ecu314/ecuxkey.h Wed Sep 4 00:25:07 1991
X--- ecuxkey.h Tue Sep 3 23:17:26 1991
X***************
X*** 7,13 ****
X unadvisable.
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
X /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X /*:05-02-1991-01:57-r@n4hgf-alt-[a-z] range moved from 0x80-0x99 to 0xE0-0xF9 */
X /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X--- 7,14 ----
X unadvisable.
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:09-03-1991-23:16-wht@n4hgf2-alt-[a-z] starts w/0xE1: crisp compatibility */
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
X /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X /*:05-02-1991-01:57-r@n4hgf-alt-[a-z] range moved from 0x80-0x99 to 0xE0-0xF9 */
X /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X***************
X*** 52,58 ****
X /*
X * extended ALT+[a-z] codes
X */
X! #define XF_ALTA 0xE0 /* depends on /usr/lib/keyboard keys ... */
X #define XF_ALTZ ((unsigned)(0xE0+'z'-'a')) /* ... mapping ALT-a to 0xE0, etc */
X
X /* vi: set tabstop=4 shiftwidth=4: */
X--- 53,59 ----
X /*
X * extended ALT+[a-z] codes
X */
X! #define XF_ALTA 0xE1 /* depends on /usr/lib/keyboard keys ... */
X #define XF_ALTZ ((unsigned)(0xE0+'z'-'a')) /* ... mapping ALT-a to 0xE0, etc */
X
X /* vi: set tabstop=4 shiftwidth=4: */
X*** /export/home/wht/src/ecu314/esd.h Thu Jul 25 12:57:00 1991
X--- esd.h Sun Sep 1 03:14:05 1991
X***************
X*** 3,13 ****
X--- 3,18 ----
X wht@n4hgf.Mt-Park.GA.US
X ------------------------------------------------------------------------*/
X /*+:EDITS:*/
X+ /*:08-29-1991-02:02-wht@n4hgf2-larger max string size for sun and SVR4 */
X /*:07-25-1991-12:57-wht@n4hgf-ECU release 3.10 */
X /*:04-24-1991-18:49-wht@n4hgf-add ESD_MAXSIZE */
X /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X
X+ #if defined(sun) || defined(SVR4)
X+ #define ESD_MAXSIZE 10240
X+ #else
X #define ESD_MAXSIZE 5120
X+ #endif
X
X typedef struct esd
X {
X*** /export/home/wht/src/ecu314/expresp.c Wed Sep 4 00:25:07 1991
X--- expresp.c Tue Sep 3 19:54:41 1991
X***************
X*** 51,57 ****
X long atol();
X
X extern int proctrace;
X- extern int sigint;
X
X int expresp_verbosity = 0;
X ulong expect_timeout_msecs = DEFAULT_TIMEOUT_MSECS;
X--- 51,56 ----
X***************
X*** 219,224 ****
X--- 218,227 ----
X
X /*+-------------------------------------------------------------------------
X respond(str) - send to remote
X+
X+ we enable SIGINT processing in here and return if 'sigint' detected,
X+ but here, unlikme elsewhere, we do *not* reset sigint (se we do not
X+ really "handle" it)
X --------------------------------------------------------------------------*/
X void
X respond(str)
X***************
X*** 228,234 ****
X--- 231,241 ----
X long ltmp;
X char s4[4];
X int send_no_cr = 0;
X+ int old_ttymode = get_ttymode();
X
X+ if(sigint)
X+ return;
X+ ttymode(2);
X ERDEBUG(2,"respond: <<%s>>\n",str);
X while(*str)
X {
X***************
X*** 247,263 ****
X {
X case 'p': /* pause (approximately 1/4-1/2 second delay) */
X ldraino(0); /* wait for output to drain */
X! Nap(400L);
X break;
X case 'm': /* nap a while (non-standard) */
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! Nap(2000L);
X break;
X case 'D': /* phone number/token */
X if(expresp_echo_check)
X--- 254,273 ----
X {
X case 'p': /* pause (approximately 1/4-1/2 second delay) */
X ldraino(0); /* wait for output to drain */
X! if(Nap(400L) < 0)
X! goto RETURN;
X break;
X case 'm': /* nap a while (non-standard) */
X ltmp = atol(str + 1);
X str += strspn(str + 1,"0123456789");
X ldraino(0); /* wait for output to drain */
X! if(Nap((ltmp < hzmsec) ? hzmsec : ltmp) < 0)
X! goto RETURN;
X break;
X case 'd': /* delay (2 seconds) */
X ldraino(0); /* wait for output to drain */
X! if(Nap(2000L) < 0)
X! goto RETURN;
X break;
X case 'D': /* phone number/token */
X if(expresp_echo_check)
X***************
X*** 309,314 ****
X--- 319,328 ----
X
X if(!send_no_cr)
X lputc(0x0D);
X+
X+ RETURN:
X+ ttymode(old_ttymode);
X+
X } /* end of respond */
X
X /*+-------------------------------------------------------------------------
X*** /export/home/wht/src/ecu314/hdbintf.c Wed Sep 4 00:25:08 1991
X--- hdbintf.c Tue Sep 3 19:02:54 1991
X***************
X*** 38,43 ****
X--- 38,45 ----
X
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X+ /*:09-01-1991-16:20-wht@n4hgf2-generalize HDB configuration files location */
X+ /*:09-01-1991-02:27-wht@n4hgf2-dialer gets file name instead of "ECUdial" */
X /*:08-25-1991-13:07-wht@n4hgf-apply ache@hq.demos.su patches */
X /*:08-10-1991-17:39-wht@n4hgf-US_WEGOTIT handling */
X /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X***************
X*** 64,72 ****
X char *dialcodes_translate();
X char *strip_phone_num();
X
X- extern int errno;
X extern char kbdintr; /* current input INTR */
X- extern int sigint;
X extern ulong colors_current;
X extern char *sys_errlist[];
X extern int proc_level;
X--- 66,72 ----
X***************
X*** 83,88 ****
X--- 83,89 ----
X /*+-------------------------------------------------------------------------
X ungetty_get_line()
X --------------------------------------------------------------------------*/
X+ int
X ungetty_get_line()
X {
X int itmp;
X***************
X*** 304,315 ****
X--- 305,326 ----
X {
X struct dvent *dve;
X
X+ #ifdef CHOOSE_DEBUG
X+ pprintf("getdvbaud %u\n",baud);
X+ #endif
X+
X while(1)
X {
X if((dve = getdvent()) == (struct dvent *)0)
X return(dve);
X if((dve->low_baud <= baud) && (baud <= dve->high_baud))
X+ {
X+ #ifdef CHOOSE_DEBUG
X+ pprintf("returning %s\n",dve->line);
X+ Nap(2000L);
X+ #endif
X return(dve);
X+ }
X }
X /*NOTREACHED*/
X
X***************
X*** 317,323 ****
X
X /*+-------------------------------------------------------------------------
X getdvline(line) - get Devices entry matching line
X! calling argument 'line's is string AFTER "/dev/tty"
X --------------------------------------------------------------------------*/
X struct dvent *
X getdvline(line)
X--- 328,334 ----
X
X /*+-------------------------------------------------------------------------
X getdvline(line) - get Devices entry matching line
X! calling argument 'line's is string AFTER "/dev/"
X --------------------------------------------------------------------------*/
X struct dvent *
X getdvline(line)
X***************
X*** 333,339 ****
X {
X if((dve = getdvent()) == (struct dvent *)0)
X return(dve);
X! if(!strcmp(dve->line + 3,line))
X return(dve);
X }
X /*NOTREACHED*/
X--- 344,350 ----
X {
X if((dve = getdvent()) == (struct dvent *)0)
X return(dve);
X! if(!strcmp(dve->line,line))
X return(dve);
X }
X /*NOTREACHED*/
X***************
X*** 558,573 ****
X uint baud;
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 #endif
X
X if(shm->Lline[0])
X {
X! dve = getdvline(shm->Lline + 8);
X enddvent();
X }
X
X--- 569,584 ----
X uint baud;
X {
X struct dvent *dve = (struct dvent *)0;
X! char tentative[sizeof(shm->Lline)];
X int itmp;
X
X #ifdef CHOOSE_DEBUG
X! pprintf("\nchoose_line baud=%u current line=\n",baud,shm->Lline);
X #endif
X
X if(shm->Lline[0])
X {
X! dve = getdvline(shm->Lline + 5);
X enddvent();
X }
X
X***************
X*** 588,594 ****
X */
X if(access(shm->Lline,6))
X goto GET_LINE_THAT_MATCHES_BAUD;
X! dve = getdvline(shm->Lline + 8);
X enddvent();
X if(!dve) /* if no match in Devices, let ecu fend for itself */
X goto GET_LINE_THAT_MATCHES_BAUD;
X--- 599,605 ----
X */
X if(access(shm->Lline,6))
X goto GET_LINE_THAT_MATCHES_BAUD;
X! dve = getdvline(shm->Lline + 5);
X enddvent();
X if(!dve) /* if no match in Devices, let ecu fend for itself */
X goto GET_LINE_THAT_MATCHES_BAUD;
X***************
X*** 610,616 ****
X /* we've got to pick a new line */
X GET_LINE_THAT_MATCHES_BAUD:
X
X! strcpy(s32,"/dev/tty");
X while(1)
X {
X if(!(dve = getdvbaud(baud)))
X--- 621,627 ----
X /* we've got to pick a new line */
X GET_LINE_THAT_MATCHES_BAUD:
X
X! strcpy(tentative,"/dev/");
X while(1)
X {
X if(!(dve = getdvbaud(baud)))
X***************
X*** 626,636 ****
X if(ulindex(dve->type,"ACU") < 0)
X continue;
X
X! strcpy(&s32[8],dve->line + 3); /* yeech ... make "/dev/ttyxx" */
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(SHARE_DEBUG)
X--- 637,648 ----
X if(ulindex(dve->type,"ACU") < 0)
X continue;
X
X! strncat(tentative,dve->line,sizeof(shm->Lline) - 5 - 1);
X! tentative[sizeof(shm->Lline) - 1] = 0;
X! switch(utmp_status(tentative))
X {
X case US_NOTFOUND: /* not in utmp, or getty dead */
X! if(itmp = line_locked(tentative))
X continue;
X case US_WEGOTIT:
X #if defined(SHARE_DEBUG)
X***************
X*** 637,644 ****
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 enddvent();
X return;
X }
X--- 649,659 ----
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,tentative); /* @@@@@@@@ MATCH @@@@@@@@@ */
X! #if defined(M_SYSV)
X! itmp = strlen(shm->Lline) - 1;
X! shm->Lline[itmp] = to_lower(shm->Lline[itmp]);
X! #endif
X enddvent();
X return;
X }
X***************
X*** 671,677 ****
X
X if(shm->Lline[0])
X {
X! dve = getdvline(shm->Lline + 8);
X enddvent();
X }
X
X--- 686,692 ----
X
X if(shm->Lline[0])
X {
X! dve = getdvline(shm->Lline + 5);
X enddvent();
X }
X
X***************
X*** 869,878 ****
X char credit_file[128];
X #endif
X
X if(!there_is_hdb_on_this_machine)
X return(4);
X
X! strcpy(dial_log,shm->Lline + 8);
X
X #if defined(M_SYSV)
X sptr = dial_log + strlen(dial_log) - 1;
X--- 884,899 ----
X char credit_file[128];
X #endif
X
X+ if(sigint) /* don't even start if console interrupt posted */
X+ {
X+ sigint = 0;
X+ return(2);
X+ }
X+
X if(!there_is_hdb_on_this_machine)
X return(4);
X
X! strcpy(dial_log,shm->Lline + 5);
X
X #if defined(M_SYSV)
X sptr = dial_log + strlen(dial_log) - 1;
X***************
X*** 918,924 ****
X
X stripped_num = strip_phone_num(shm->Ltelno);
X
X! #ifdef WHT /* hack for immediate need ... make a real feature later */
X dptr = stripped_num;
X if(*(dptr - 1) == '$')
X {
X--- 939,946 ----
X
X stripped_num = strip_phone_num(shm->Ltelno);
X
X! #if defined(WHT) || defined(TELNO_DOLLAR_CREDIT_CARD)
X! /* hack for immediate need ... make a real feature later */
X dptr = stripped_num;
X if(*(dptr - 1) == '$')
X {
X***************
X*** 942,952 ****
X iv[0] = 1;
X return(1);
X }
X! *(dptr + strlen(dptr) - 1) = 0; /* kill NL */
X }
X #endif /* WHT */
X
X! /* Translate Token now */
X
X if (dve->token == (char *)0 || !dve->token[0])
X strcpy(token, stripped_num);
X--- 964,975 ----
X iv[0] = 1;
X return(1);
X }
X! if(*(dptr + strlen(dptr) - 1) == 0x0A)
X! *(dptr + strlen(dptr) - 1) = 0; /* kill NL */
X }
X #endif /* WHT */
X
X! /* Translate Token now (thanks to ache@hq.demos.su) */
X
X if (dve->token == (char *)0 || !dve->token[0])
X strcpy(token, stripped_num);
X***************
X*** 1011,1019 ****
X if((dial_pid = smart_fork()) == 0)
X {
X signal(SIGINT,SIG_DFL);
X! execl(dve->dialprog,"ECUdial",dbgstr,
X! shm->Lline,token,
X! baudstr,(char *)0);
X exit(-1);
X }
X
X--- 1034,1046 ----
X if((dial_pid = smart_fork()) == 0)
X {
X signal(SIGINT,SIG_DFL);
X! execl(dve->dialprog,
X! #if defined(WHT) || defined(ECUdial)
X! "ECUdial",
X! #else
X! dve->dialprog,
X! #endif
X! dbgstr, shm->Lline,token,baudstr,(char *)0);
X exit(-1);
X }
X
X***************
X*** 1024,1034 ****
X ttymode(old_ttymode);
X ttyflush(1);
X
X! if(sigint)
X {
X! kill(dial_pid,9);
X! ltoggle_dtr();
X! sigint = 0; /* in case of SIGINT by user */
X }
X lreset_ksr(); /* uucp dialers are nice guys, but lets use our termio */
X
X--- 1051,1061 ----
X ttymode(old_ttymode);
X ttyflush(1);
X
X! if(sigint) /* keyboard interrupt? */
X {
X! kill(dial_pid,9); /* kill dialer */
X! ltoggle_dtr(); /* drop line */
X! sigint = 0; /* reset SIGINT indication */
X }
X lreset_ksr(); /* uucp dialers are nice guys, but lets use our termio */
X
X***************
X*** 1136,1146 ****
X } /* end of hdb_dial */
X
X /*+-------------------------------------------------------------------------
X! hdb_init()
X --------------------------------------------------------------------------*/
X void
X hdb_init()
X {
X there_is_hdb_on_this_machine = !access(Devices_file,4);
X
X } /* end of hdb_init */
X--- 1163,1201 ----
X } /* end of hdb_dial */
X
X /*+-------------------------------------------------------------------------
X! hdb_init() - initialize HoneyDanBerInterface
X --------------------------------------------------------------------------*/
X void
X hdb_init()
X {
X+ char *hdbfiles = HDBFILES; /* system independent location */
X+ int buflen = strlen(hdbfiles) + 64;
X+ char *emsg = "hdb_init memory allocation failed!\n";
X+
X+ if(!(Devices_file = malloc(buflen)))
X+ {
X+ pputs(emsg);
X+ termecu(TERMECU_MALLOC);
X+ }
X+ strcpy(Devices_file,hdbfiles);
X+ strcat(Devices_file,"/Devices");
X+
X+ if(!(Dialers_file = malloc(buflen)))
X+ {
X+ pputs(emsg);
X+ termecu(TERMECU_MALLOC);
X+ }
X+ strcpy(Dialers_file,hdbfiles);
X+ strcat(Dialers_file,"/Dialers");
X+
X+ if(!(Dialcodes_file = malloc(buflen)))
X+ {
X+ pputs(emsg);
X+ termecu(TERMECU_MALLOC);
X+ }
X+ strcpy(Dialcodes_file,hdbfiles);
X+ strcat(Dialcodes_file,"/Dialcodes");
X+
X there_is_hdb_on_this_machine = !access(Devices_file,4);
X
X } /* end of hdb_init */
X***************
X*** 1199,1205 ****
X dptr = stripped_num;
X while(*sptr)
X {
X! if(*sptr == '(' || *sptr == ')')
X {
X sptr++;
X continue;
X--- 1254,1264 ----
X dptr = stripped_num;
X while(*sptr)
X {
X! if((*sptr == '(') || (*sptr == ')')
X! #if defined(WHT) || defined(STRIP_TELNO_HYPHENS)
X! || (*sptr == '-') /* some want '-' for pauses; I use ',' */
X! #endif
X! )
X {
X sptr++;
X continue;
X*** /export/home/wht/src/ecu314/help/ecuhelp.src Wed Sep 4 00:25:13 1991
X--- help/ecuhelp.src Sun Sep 1 03:14:06 1991
X***************
X*** 569,575 ****
X on | 0 | 1 1 | 0 | 1
X no | 0 | 0 2 | 1 | 0
X yes | 1 | 1 3 | 1 | 1
X! A similar feature is provided under S4. Under SunOS, CTS
X flow control is upported. See the manual.
X #--------------------------------------------------------------------
X %sdname
X--- 569,575 ----
X on | 0 | 1 1 | 0 | 1
X no | 0 | 0 2 | 1 | 0
X yes | 1 | 1 3 | 1 | 1
X! A similar feature is provided under S4. Under SunOS, CTS
X flow control is upported. See the manual.
X #--------------------------------------------------------------------
X %sdname
X*** /export/home/wht/src/ecu314/kbdtest3.c Wed Sep 4 00:25:08 1991
X--- kbdtest3.c Sun Sep 1 03:14:06 1991
X***************
X*** 24,30 ****
X
X ------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
X /*:08-17-1991-13:58-root@n4hgf-make kbd entirely raw */
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--- 24,30 ----
X
X ------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
X /*:08-17-1991-13:58-root@n4hgf-make kbd entirely raw */
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*** /export/home/wht/src/ecu314/makedirs.c Wed Sep 4 00:24:59 1991
X--- makedirs.c Sun Sep 1 03:14:06 1991
X***************
X*** 2,7 ****
X--- 2,8 ----
X makedirs.c
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X+ /*:08-30-1991-00:37-wht@n4hgf2-force umask to 022 for installation */
X /*:08-23-1991-14:38-wht@n4hgf-was not making last subdirectory in list */
X /*:08-09-1991-02:13-root@n4hgf-need smart_fork for XENIX */
X /*:07-25-1991-12:58-wht@n4hgf-ECU release 3.10 */
X***************
X*** 29,34 ****
X--- 30,37 ----
X char s512[512];
X extern char *optarg;
X extern int optind;
X+
X+ umask(022);
X
X while((itmp = getopt(argc,argv,"m:")) != -1)
X {
X*** /export/home/wht/src/ecu314/mapkey/keys.usa.ecu Thu May 2 02:10:00 1991
X--- mapkey/keys.usa.ecu Tue Sep 3 23:14:31 1991
X***************
X*** 23,63 ****
X 13 '=' '+' nop nop '=' '+' nop nop O
X 14 bs bs del del bs bs del del O
X 15 ht btab nop nop ht btab nop nop O
X! 16 'q' 'Q' dc1 dc1 0xf0 'Q' dc1 dc1 C
X! 17 'w' 'W' etb etb 0xf6 'W' etb etb C
X! 18 'e' 'E' enq enq 0xe4 'E' enq enq C
X! 19 'r' 'R' dc2 dc2 0xf1 'R' dc2 dc2 C
X! 20 't' 'T' dc4 dc4 0xf3 'T' dc4 dc4 C
X! 21 'y' 'Y' em em 0xf8 'Y' em em C
X! 22 'u' 'U' nak nak 0xf4 'U' nak nak C
X! 23 'i' 'I' ht ht 0xe8 'I' ht ht C
X! 24 'o' 'O' si si 0xee 'O' si si C
X! 25 'p' 'P' dle dle 0xef 'P' dle dle C
X 26 '[' '{' esc esc '[' '{' esc esc O
X 27 ']' '}' gs gs ']' '}' gs gs O
X 28 cr cr nl nl cr cr nl nl O
X 29 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O
X! 30 'a' 'A' soh soh 0xe0 'A' soh soh C
X! 31 's' 'S' dc3 dc3 0xf2 'S' dc3 dc3 C
X! 32 'd' 'D' eot eot 0xe3 'D' eot eot C
X! 33 'f' 'F' ack ack 0xe5 'F' ack ack C
X! 34 'g' 'G' bel bel 0xe6 'G' bel bel C
X! 35 'h' 'H' bs bs 0xe7 'H' bs bs C
X! 36 'j' 'J' nl nl 0xe9 'J' nl nl C
X! 37 'k' 'K' vt vt 0xea 'K' vt vt C
X! 38 'l' 'L' np np 0xeb 'L' np np C
X 39 ';' ':' nop nop ';' ':' nop nop O
X 40 '\'' '"' nop nop '\'' '"' nop nop O
X 41 '`' '~' nop nop '`' '~' nop nop O
X 42 lshift lshift lshift lshift lshift lshift lshift lshift O
X 43 '\\' '|' fs fs '\\' '|' fs fs O
X! 44 'z' 'Z' sub sub 0xf9 'Z' sub sub C
X! 45 'x' 'X' can can 0xf7 'X' can can C
X! 46 'c' 'C' etx etx 0xe2 'C' etx etx C
X! 47 'v' 'V' syn syn 0xf5 'V' syn syn C
X! 48 'b' 'B' stx stx 0xe1 'B' stx stx C
X! 49 'n' 'N' so so 0xed 'N' so so C
X! 50 'm' 'M' cr cr 0xec 'M' cr cr C
X 51 ',' '<' nop nop ',' '<' nop nop O
X 52 '.' '>' nop nop '.' '>' nop nop O
X 53 '/' '?' nop nop '/' '?' nop nop O
X--- 23,63 ----
X 13 '=' '+' nop nop '=' '+' nop nop O
X 14 bs bs del del bs bs del del O
X 15 ht btab nop nop ht btab nop nop O
X! 16 'q' 'Q' dc1 dc1 0xf1 'Q' dc1 dc1 C
X! 17 'w' 'W' etb etb 0xf7 'W' etb etb C
X! 18 'e' 'E' enq enq 0xe5 'E' enq enq C
X! 19 'r' 'R' dc2 dc2 0xf2 'R' dc2 dc2 C
X! 20 't' 'T' dc4 dc4 0xf4 'T' dc4 dc4 C
X! 21 'y' 'Y' em em 0xf9 'Y' em em C
X! 22 'u' 'U' nak nak 0xf5 'U' nak nak C
X! 23 'i' 'I' ht ht 0xe9 'I' ht ht C
X! 24 'o' 'O' si si 0xef 'O' si si C
X! 25 'p' 'P' dle dle 0xf0 'P' dle dle C
X 26 '[' '{' esc esc '[' '{' esc esc O
X 27 ']' '}' gs gs ']' '}' gs gs O
X 28 cr cr nl nl cr cr nl nl O
X 29 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O
X! 30 'a' 'A' soh soh 0xe1 'A' soh soh C
X! 31 's' 'S' dc3 dc3 0xf3 'S' dc3 dc3 C
X! 32 'd' 'D' eot eot 0xe4 'D' eot eot C
X! 33 'f' 'F' ack ack 0xe6 'F' ack ack C
X! 34 'g' 'G' bel bel 0xe7 'G' bel bel C
X! 35 'h' 'H' bs bs 0xe8 'H' bs bs C
X! 36 'j' 'J' nl nl 0xea 'J' nl nl C
X! 37 'k' 'K' vt vt 0xeb 'K' vt vt C
X! 38 'l' 'L' np np 0xec 'L' np np C
X 39 ';' ':' nop nop ';' ':' nop nop O
X 40 '\'' '"' nop nop '\'' '"' nop nop O
X 41 '`' '~' nop nop '`' '~' nop nop O
X 42 lshift lshift lshift lshift lshift lshift lshift lshift O
X 43 '\\' '|' fs fs '\\' '|' fs fs O
X! 44 'z' 'Z' sub sub 0xfa 'Z' sub sub C
X! 45 'x' 'X' can can 0xf8 'X' can can C
X! 46 'c' 'C' etx etx 0xe3 'C' etx etx C
X! 47 'v' 'V' syn syn 0xf6 'V' syn syn C
X! 48 'b' 'B' stx stx 0xe2 'B' stx stx C
X! 49 'n' 'N' so so 0xee 'N' so so C
X! 50 'm' 'M' cr cr 0xed 'M' cr cr C
X 51 ',' '<' nop nop ',' '<' nop nop O
X 52 '.' '>' nop nop '.' '>' nop nop O
X 53 '/' '?' nop nop '/' '?' nop nop O
X*** /export/home/wht/src/ecu314/mkdirs.c Wed Sep 4 00:24:59 1991
X--- mkdirs.c Wed Sep 4 02:09:33 1991
X***************
X*** 15,20 ****
X--- 15,24 ----
X #include <string.h>
X #include <errno.h>
X
X+ #ifdef M_UNIX
X+ #undef M_XENIX
X+ #endif
X+
X #if defined(M_XENIX)
X #include <signal.h>
X #include <sys/types.h>
X***************
X*** 37,43 ****
X {
X int cpid,status;
X struct stat statbuf;
X! int(*original_sighdlr)();
X
X if(stat(dpath,&statbuf) == 0)
X {
X--- 41,47 ----
X {
X int cpid,status;
X struct stat statbuf;
X! SIGTYPE (*original_sighdlr)();
X
X if(stat(dpath,&statbuf) == 0)
X {
X*** /export/home/wht/src/ecu314/nonansikey.c Wed Sep 4 00:25:08 1991
X--- nonansikey.c Mon Sep 2 22:56:53 1991
X***************
X*** 1,4 ****
X! /* #define NONANSI_DEBUG */
X /*+-----------------------------------------------------------------
X nonansikey.c - keyboard function key -> ECU internal
X wht@n4hgf.Mt-Park.GA.US
X--- 1,4 ----
X! #define NONANSI_DEBUG
X /*+-----------------------------------------------------------------
X nonansikey.c - keyboard function key -> ECU internal
X wht@n4hgf.Mt-Park.GA.US
X***************
X*** 33,39 ****
X--- 33,41 ----
X
X KDE nonansi_key_table[KDE_COUNT];
X char nonansi_key_name[32] = "";
X+ #if defined(NONANSI_DEBUG)
X static FILE *nadbg = (FILE *)0;
X+ #endif
X
X /*+-------------------------------------------------------------------------
X nonansi_key_init()
X***************
X*** 197,203 ****
X
X if(!(fp_keys = fopen(ecukeys_name,"r")))
X {
X- char * eculibdir = ECULIBDIR;
X strcpy(ecukeys_name,eculibdir);
X strcat(ecukeys_name,"/nonansikeys");
X if(!(fp_keys = fopen(ecukeys_name,"r")))
X--- 199,204 ----
X*** /export/home/wht/src/ecu314/pcmd.c Wed Sep 4 00:25:01 1991
X--- pcmd.c Sun Sep 1 20:56:47 1991
X***************
X*** 32,42 ****
X--- 32,45 ----
X pcmd_rtscts(param)
X pcmd_send(param)
X pcmd_set(param)
X+ pcmd_setline(param)
X pcmd_system(param)
X pcmd_xon(param)
X
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X+ /*:09-01-1991-19:10-wht@n4hgf2-baud cmd can set rate even if no line open */
X+ /*:09-01-1991-18:10-wht@n4hgf2-add setline */
X /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
X /*:08-06-1991-21:18-wht@n4hgf-nap -m test wrong sense ... old bug! */
X /*:08-05-1991-16:22-wht@n4hgf-add nap -1 return and proctrace */
X***************
X*** 68,79 ****
X
X extern int proctrace;
X extern int rcvr_pid;
X extern ulong colors_current;
X extern char errmsg[];
X extern char curr_dir[CURR_DIRSIZ]; /* current working directory */
X
X /*+-------------------------------------------------------------------------
X! pcmd_baud(param)
X --------------------------------------------------------------------------*/
X int
X pcmd_baud(param)
X--- 71,86 ----
X
X extern int proctrace;
X extern int rcvr_pid;
X+ extern int rc_ep_has_run;
X extern ulong colors_current;
X extern char errmsg[];
X extern char curr_dir[CURR_DIRSIZ]; /* current working directory */
X
X /*+-------------------------------------------------------------------------
X! pcmd_baud(param) - set line or default baud rate
X!
X! The command sets shm->Lbaud whether or not a line is open.
X! If a line is open, the baud rate is actually set.
X --------------------------------------------------------------------------*/
X int
X pcmd_baud(param)
X***************
X*** 82,89 ****
X long new_baud;
X int erc;
X
X- if(shm->Liofd < 0)
X- return(eNoLineAttached);
X
X if(erc = gint(param,&new_baud))
X return(erc);
X--- 89,94 ----
X***************
X*** 93,99 ****
X return(eFATAL_ALREADY);
X }
X shm->Lbaud = (uint)new_baud;
X! lset_baud_rate(1);
X if(proctrace)
X {
X pprintf("baud rate set to %u\n",shm->Lbaud);
X--- 98,105 ----
X return(eFATAL_ALREADY);
X }
X shm->Lbaud = (uint)new_baud;
X! if(shm->Liofd >=- 0)
X! lset_baud_rate(1);
X if(proctrace)
X {
X pprintf("baud rate set to %u\n",shm->Lbaud);
X***************
X*** 754,762 ****
X ESD *tesd;
X char s64[64];
X
X- if(shm->Liofd < 0)
X- return(eNoLineAttached);
X-
X if(erc = skip_cmd_break(param))
X return(erc);
X if(!(tesd = esdalloc(64)))
X--- 760,765 ----
X***************
X*** 779,785 ****
X case 'e':
X case 'o':
X shm->Lparity = new_parity;
X! lset_parity(1);
X break;
X default:
X erc = eBadParameter;
X--- 782,789 ----
X case 'e':
X case 'o':
X shm->Lparity = new_parity;
X! if(shm->Liofd < 0)
X! lset_parity(1);
X break;
X default:
X erc = eBadParameter;
X***************
X*** 1291,1296 ****
X--- 1295,1335 ----
X
X return(erc);
X } /* end of pcmd_rtscts */
X+
X+ /*+-------------------------------------------------------------------------
X+ pcmd_setline(param) - _rc.ep setline command
X+
X+ This command can be used to set the initial line in _rc.ep
X+ --------------------------------------------------------------------------*/
X+ int
X+ pcmd_setline(param)
X+ ESD *param;
X+ {
X+ int erc;
X+ ESD *tesd;
X+
X+ if(rc_ep_has_run)
X+ {
X+ pprintf("command legal only in _rc.ep\n");
X+ return(eFATAL_ALREADY);
X+ }
X+
X+ if(!(tesd = esdalloc(sizeof(shm->Lline))))
X+ return(eNoMemory);
X+ if(erc = gstr(param,tesd,0))
X+ goto RETURN;
X+ shm->Lline[0] = 0;
X+ if(strncmp(tesd->pb,"/dev/",5))
X+ strcat(shm->Lline,"/dev/");
X+ strncat(shm->Lline,tesd->pb,sizeof(shm->Lline) - strlen(shm->Lline));
X+ shm->Lline[sizeof(shm->Lline) - 1] = 0;
X+ if(proctrace)
X+ pprintf("line set to %s\n",shm->Lline);
X+
X+ RETURN:
X+ esdfree(tesd);
X+ return(erc);
X+ } /* end of pcmd_setline */
X
X /* vi: set tabstop=4 shiftwidth=4: */
X /* end of pcmd.c */
X*** /export/home/wht/src/ecu314/proc.c Wed Sep 4 00:25:01 1991
X--- proc.c Tue Sep 3 19:09:21 1991
X***************
X*** 42,51 ****
X #define NEED_P_CMD
X #include "ecucmd.h"
X
X- extern int rcvr_pid;
X- extern int sigint;
X- extern int proc_interrupt;
X-
X PCB *pcb_stack[PROC_STACK_MAX];
X
X int proc_level = 0;
X--- 42,47 ----
X***************
X*** 282,287 ****
X--- 278,284 ----
X /*+-------------------------------------------------------------------------
X execute_esd(tesd)
X --------------------------------------------------------------------------*/
X+ int
X execute_esd(tesd)
X ESD *tesd;
X {
X***************
X*** 289,301 ****
X P_CMD *pcmd;
X static P_CMD *set_pcmd = (P_CMD *)0; /* quick access to 'set' */
X char cmd[32];
X
X /* if interrupt, exit */
X! if(sigint)
X! {
X! proc_interrupt = 1;
X return(eCONINT);
X- }
X
X /* if blank, skip it */
X if(skip_cmd_break(tesd))
X--- 286,296 ----
X P_CMD *pcmd;
X static P_CMD *set_pcmd = (P_CMD *)0; /* quick access to 'set' */
X char cmd[32];
X+ extern int proc_interrupt;
X
X /* if interrupt, exit */
X! if(sigint | proc_interrupt)
X return(eCONINT);
X
X /* if blank, skip it */
X if(skip_cmd_break(tesd))
X***************
X*** 437,442 ****
X--- 432,438 ----
X int use_goto_label;
X {
X int erc = 0;
X+ extern int proc_interrupt;
X
X if(proc_level == PROC_STACK_MAX)
X return(eProcStackTooDeep);
X***************
X*** 501,507 ****
X }
X }
X
X! if(proc_interrupt)
X {
X proc_interrupt = 0;
X sigint = 0;
X--- 497,503 ----
X }
X }
X
X! if(sigint || proc_interrupt)
X {
X proc_interrupt = 0;
X sigint = 0;
X***************
X*** 637,650 ****
X ushort line_count = 0;
X extern ulong colors_current;
X ulong colors_at_entry = colors_current;
X
X! proc_interrupt = 0;
X! sigint = 0;
X for(iargv = 0; iargv < argc; iargv++)
X {
X if(ipargv == MAX_PARGV)
X {
X! pprintf("\nToo many arguments to %s invocation\n",pargv[0]);
X erc = eFATAL_ALREADY;
X goto RETURN;
X }
X--- 633,648 ----
X ushort line_count = 0;
X extern ulong colors_current;
X ulong colors_at_entry = colors_current;
X+ extern int proc_interrupt;
X
X! proc_interrupt = 0; /* ok to reset here because no one ... */
X! sigint = 0; /* ... would call here if interrupted */
X!
X for(iargv = 0; iargv < argc; iargv++)
X {
X if(ipargv == MAX_PARGV)
X {
X! pputs("\nMax arguments to procedure invocation exceeded\n");
X erc = eFATAL_ALREADY;
X goto RETURN;
X }
X*** /export/home/wht/src/ecu314/procframe.c Thu Jul 25 12:59:00 1991
X--- procframe.c Tue Sep 3 19:33:40 1991
X***************
X*** 22,28 ****
X
X extern PCB *pcb_stack[PROC_STACK_MAX];
X extern int proc_level;
X- extern int proc_interrupt;
X extern int proctrace;
X
X /*+-------------------------------------------------------------------------
X--- 22,27 ----
X***************
X*** 65,70 ****
X--- 64,70 ----
X ESD *text;
X int nest_level = 0;
X int remember_break = 0;
X+ extern int proc_interrupt;
X
X if(!(pcb->current = pcb->current->next))
X {
X*** /export/home/wht/src/ecu314/regexp.c Wed Sep 4 00:25:09 1991
X--- regexp.c Sun Sep 1 03:14:07 1991
X***************
X*** 2,8 ****
X regexp.c -- regular expression functions made sane
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
X /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
X /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X
X--- 2,8 ----
X regexp.c -- regular expression functions made sane
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
X /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
X /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X
X*** /export/home/wht/src/ecu314/sea/ecusea.c Wed Sep 4 00:25:14 1991
X--- sea/ecusea.c Mon Sep 2 03:04:05 1991
X***************
X*** 1,4 ****
X! char *revision = "3.14"; /* cannot be longer than 7 chars (blk0.sender) */
X
X /* #define TABLE_CRC16 */
X #ifdef M_XENIX
X--- 1,4 ----
X! char *revision = "3.15"; /* cannot be longer than 7 chars (blk0.sender) */
X
X /* #define TABLE_CRC16 */
X #ifdef M_XENIX
X***************
X*** 58,63 ****
X--- 58,66 ----
X
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X+ /*:09-01-1991-14:22-wht@n4hgf2-on sun, use termios */
X+ /*:08-30-1991-20:09-wht@n4hgf2-sun Nap was not returning a value */
X+ /*:08-30-1991-02:34-jdeitch@jadpc.cts.com-fix no hzmsec */
X /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
X /*:03-18-1991-22:49-wht@n4hgf-ISC 2.2 has struct timeval in sys/time.h */
X /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X***************
X*** 68,75 ****
X #include <signal.h>
X #include <setjmp.h>
X #include <fcntl.h>
X- #include <termio.h>
X #if defined(sun)
X #undef ECHO
X #undef NL0
X #undef NL1
X--- 71,86 ----
X #include <signal.h>
X #include <setjmp.h>
X #include <fcntl.h>
X #if defined(sun)
X+ #include <termio.h>
X+ #include <termio.h>
X+ #define termio termios
X+ #undef TCGETA
X+ #undef TCSETA
X+ #undef TCSETAW
X+ #define TCGETA TCGETS
X+ #define TCSETA TCSETS
X+ #define TCSETAW TCSETSW
X #undef ECHO
X #undef NL0
X #undef NL1
X***************
X*** 89,95 ****
X #undef FLUSHO
X #undef PENDIN
X #undef NOFLSH
X! #endif
X #include <sys/ioctl.h>
X #include <sys/types.h>
X #include <sys/stat.h>
X--- 100,109 ----
X #undef FLUSHO
X #undef PENDIN
X #undef NOFLSH
X! #else
X! #include <termio.h>
X! #endif /* sun */
X! #include <sys/param.h>
X #include <sys/ioctl.h>
X #include <sys/types.h>
X #include <sys/stat.h>
X***************
X*** 312,317 ****
X--- 326,333 ----
X As it is nap() is nearly useless. I believe select() suffers
X from the same deficiency (< 1000 msec timeout becomes 1000 msec) but
X I haven't "proven" it yet.
X+
X+ On the sun, we use select to accomplish the nap requirement.
X --------------------------------------------------------------------------*/
X long
X Nap(msec)
X***************
X*** 319,331 ****
X {
X #if defined(sun)
X struct timeval timer;
X! timer.tv_sec = 0;
X! timer.tv_usec = 1000L * msec;
X! select(0,0,0,0,&timer);
X #else
X #if defined(M_XENIX) || defined(WORKING_UNIX_NAP)
X return(nap(msec));
X #else
X if(msec < hzmsec)
X msec = hzmsec;
X if(nap(msec) < 0)
X--- 335,362 ----
X {
X #if defined(sun)
X struct timeval timer;
X! timer.tv_sec = msec / 1000;
X! timer.tv_usec = (msec % 1000L) * 1000L;
X! if(select(32,0,0,0,&timer) < 0)
X! return(-1);
X! return(msec);
X #else
X #if defined(M_XENIX) || defined(WORKING_UNIX_NAP)
X return(nap(msec));
X #else
X+ static ulong hzmsec = 0L;
X+ /*
X+ * learn tick rate for various timers
X+ */
X+ if(!hzmsec)
X+ {
X+ int hz;
X+ if(getenv("HZ"))
X+ hz = atoi(getenv("HZ"));
X+ else
X+ hz = HZ;
X+ hzmsec = (ulong)(1000 / hz) + 2;
X+ }
X if(msec < hzmsec)
X msec = hzmsec;
X if(nap(msec) < 0)
X***************
X*** 339,347 ****
X /*+-------------------------------------------------------------------------
X rdchk(fd) - for systems without it but with FIONREAD
X --------------------------------------------------------------------------*/
X! #if defined(sun)
X int
X rdchk(fd)
X {
X int chars_waiting;
X
X--- 370,379 ----
X /*+-------------------------------------------------------------------------
X rdchk(fd) - for systems without it but with FIONREAD
X --------------------------------------------------------------------------*/
X! #if defined(BSD)
X int
X rdchk(fd)
X+ int fd;
X {
X int chars_waiting;
X
X*** /export/home/wht/src/ecu314/sea/scurses.c Wed Sep 4 00:25:15 1991
X--- sea/scurses.c Sun Sep 1 03:14:07 1991
X***************
X*** 48,54 ****
X
X ------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:08-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
X /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
X /*:09-19-1990-19:36-wht@n4hgf-ecu_log_event now gets pid for log from caller */
X /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X--- 48,54 ----
X
X ------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:08-wht@n4hgf2-SVR4 cleanup by aega84!lh */
X /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
X /*:09-19-1990-19:36-wht@n4hgf-ecu_log_event now gets pid for log from caller */
X /*:08-14-1990-20:40-wht@n4hgf-ecu3.00-flush old edit history */
X***************
X*** 64,70 ****
X #if defined(M_SYSV)
X # include <sys/machdep.h>
X #else
X! #if defined(ISC)
X # include <sys/at_ansi.h>
X # include <sys/kd.h>
X #endif
X--- 64,70 ----
X #if defined(M_SYSV)
X # include <sys/machdep.h>
X #else
X! #if defined(ISC) || defined(SVR4)
X # include <sys/at_ansi.h>
X # include <sys/kd.h>
X #endif
X***************
X*** 304,310 ****
X char *title;
X {
X register int itmp;
X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX)
X int monitor_type;
X #endif
X
X--- 304,310 ----
X char *title;
X {
X register int itmp;
X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX) || defined(SVR4)
X int monitor_type;
X #endif
X
X***************
X*** 319,328 ****
X--- 319,330 ----
X curses_installed = 1;
X win = newwin(WIN_LINES,WIN_COLS,WIN_TOPY,WIN_LEFTX);
X box(win,sVR,sHR);
X+ #ifndef SVR4
X wmove(win,0,0); waddch(win,sTL);
X wmove(win,win->_maxy - 1,0); waddch(win,sBL);
X wmove(win,win->_maxy - 1,win->_maxx - 1); waddch(win,sBR);
X wmove(win,0,win->_maxx - 1); waddch(win,sTR);
X+ #endif
X wmove(win,0,2);
X wstandout(win);
X waddch(win,'[');
X***************
X*** 331,338 ****
X--- 333,345 ----
X waddch(win,' ');
X waddch(win,']');
X wstandend(win);
X+ #ifdef SVR4
X+ whline(win, (unsigned long)(sHR & 0x00ff), 2);
X+ wmove(win,0, 8 + strlen(title));
X+ #else
X waddch(win,sHR);
X waddch(win,sHR);
X+ #endif
X waddstr(win," dir: ");
X waddstr(win,curr_dir);
X waddch(win,' ');
X***************
X*** 364,370 ****
X start_seconds = time((long *)0);
X current_seconds = start_seconds;
X
X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX)
X if(ioctl(0,CONS_GET,&monitor_type) < 0) /* not multiscreen */
X {
X #endif
X--- 371,377 ----
X start_seconds = time((long *)0);
X current_seconds = start_seconds;
X
X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX) || defined(SVR4)
X if(ioctl(0,CONS_GET,&monitor_type) < 0) /* not multiscreen */
X {
X #endif
X***************
X*** 376,382 ****
X sRT = vanilla_RT;
X sVR = vanilla_VR;
X sHR = vanilla_HR;
X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX)
X }
X #endif
X
X--- 383,389 ----
X sRT = vanilla_RT;
X sVR = vanilla_VR;
X sHR = vanilla_HR;
X! #if defined(M_UNIX) || defined(ISC) || defined(M_XENIX) || defined(SVR4)
X }
X #endif
X
X*** /export/home/wht/src/ecu314/stdio_lint.h Wed Sep 4 00:25:09 1991
X--- stdio_lint.h Sun Sep 1 03:14:08 1991
X***************
X*** 3,9 ****
X wht@n4hgf.Mt-Park.GA.US
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by slootman@dri.nl */
X /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
X /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
X /*:01-18-1991-11:55-wht@n4hgf-fix strchr/strrchr per steve@nshore.ncoast.org */
X--- 3,9 ----
X wht@n4hgf.Mt-Park.GA.US
X --------------------------------------------------------------------------*/
X /*+:EDITS:*/
X! /*:08-28-1991-14:07-wht@n4hgf2-SVR4 cleanup by aega84!lh */
X /*:08-25-1991-14:39-wht@n4hgf-SVR4 port thanks to aega84!lh */
X /*:07-25-1991-12:59-wht@n4hgf-ECU release 3.10 */
X /*:01-18-1991-11:55-wht@n4hgf-fix strchr/strrchr per steve@nshore.ncoast.org */
X*** /export/home/wht/src/ecu314/termecu.h Thu Jul 25 12:59:00 1991
X--- termecu.h Sun Sep 1 16:13:18 1991
X***************
X*** 26,31 ****
X--- 26,32 ----
X #define TERMECU_CONFIG_ERROR 140
X #define TERMECU_CURSES_ERROR 141
X #define TERMECU_RCVR_FATAL_ERROR 142
X+ #define TERMECU_MALLOC 143
X
X #define TERMECU_INIT_PROC_ERROR 192
X
X*** /export/home/wht/src/ecu314/z/baudtest.c Wed Sep 4 00:25:15 1991
X--- z/baudtest.c Sun Sep 1 03:14:08 1991
X***************
X*** 6,12 ****
X which does not get along with termio.h AT ALL
X --------------------------------------------------------------------------*/
SHAR_EOF
true || echo 'restore of PATCH5.01 failed'
fi
echo 'End of ecu/patch05 part 3'
echo 'File PATCH5.01 is continued in part 4'
echo 4 > _shar_seq_.tmp
exit 0
exit 0 # Just in case...