v16i042: ECU async comm package rev 3.0, Part18/35
Warren Tucker
wht at n4hgf.uucp
Sun Jan 6 16:23:32 AEST 1991
Submitted-by: wht at n4hgf.uucp (Warren Tucker)
Posting-number: Volume 16, Issue 42
Archive-name: ecu3/part18
---- Cut Here and feed the following to sh ----
#!/bin/sh
# This is part 18 of ecu3
if touch 2>&1 | fgrep 'amc' > /dev/null
then TOUCH=touch
else TOUCH=true
fi
# ============= ecuungetty/ecuungetty.c ==============
if test ! -d 'ecuungetty'; then
echo 'x - creating directory ecuungetty'
mkdir 'ecuungetty'
fi
echo 'x - extracting ecuungetty/ecuungetty.c (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'ecuungetty/ecuungetty.c' &&
X/*+-------------------------------------------------------------------------
X ecuungetty.c - ecu "ungetty" program
X wht%n4hgf at gatech.edu
X
Xecuungetty /dev/ttyxx <bamboozle-str>
Xecuungetty -t /dev/ttyxx <bamboozle-str>
Xecuungetty -r /dev/ttyxx <bamboozle-str>
X
X Defined functions:
X ecu_log_event(pid,logstr)
X errno_text(errnum)
X hangup()
X main(argc,argv,envp)
X
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:09-19-1990-19:36-wht at n4hgf-ecu_log_event now gets pid for log from caller */
X/*:08-14-1990-20:40-wht at n4hgf-ecu3.00-flush old edit history */
X
X#include <stdio.h>
X#include <ctype.h>
X#include <fcntl.h>
X#include <errno.h>
X#include <signal.h>
X#include <sys/types.h>
X#include <sys/stat.h>
X#include <utmp.h>
X#include "../stdio_lint.h"
X#include "../ecuungetty.h"
X#include "../utmpstatus.h"
X
Xextern struct utmp last_utmp;
X
X/*+-------------------------------------------------------------------------
X ecu_log_event(pid,logstr) - dummy procedure for utmpstat.o
X--------------------------------------------------------------------------*/
Xvoid
Xecu_log_event(pid,logstr)
Xint pid;
Xchar *logstr;
X{
X ;
X} /* end of ecu_log_event */
X
X/*+-------------------------------------------------------------------------
X hangup() - "dummy" for utmpstat.c
XThis particular incantation will only be called if utmp is non-existent
Xor not readable.......
X--------------------------------------------------------------------------*/
Xhangup()
X{
X exit(UGE_NOTROOT);
X} /* end of hangup */
X
X/*+-------------------------------------------------------------------------
X errno_text(errnum)
X--------------------------------------------------------------------------*/
Xchar *
Xerrno_text(errnum)
Xint errnum;
X{
Xstatic char errstr[12];
X sprintf(errstr,"E%d\n",errnum);
X return(errstr);
X} /* end of errno_text */
X
X/*+-------------------------------------------------------------------------
X main(argc,argv,envp)
X--------------------------------------------------------------------------*/
Xmain(argc,argv,envp)
Xint argc;
Xchar **argv;
Xchar **envp;
X{
Xint op = 'g'; /* assume "get" operation */
Xint status;
Xint itmp;
Xchar *tty = argv[1];
Xchar *bamboozlement = argv[2];
Xchar *bamboozle();
X
X if(geteuid() != 0)
X exit(UGE_NOTROOT);
X
X if(*argv[1] == '-')
X {
X switch(op = *(argv[1] + 1))
X {
X case 'r':
X case 't':
X break;
X default:
X exit(UGE_BADSWITCH);
X }
X if(argc < 3)
X exit(UGE_BADARGC);
X tty = argv[2];
X bamboozlement = argv[3];
X }
X else if(argc <= 2)
X exit(UGE_BADARGC);
X
X if(getuid() != 0)
X {
X if(strcmp(bamboozlement,bamboozle(getppid())))
X exit(UGE_CALLER);
X }
X
X status = utmp_status(tty);
X
X switch(op)
X {
X case 'g':
X switch(status)
X {
X case US_NOTFOUND: /* not in utmp, or getty dead */
X exit(UG_NOTENAB);
X case US_LOGIN: /* enabled for login, idle */
X kill(last_utmp.ut_pid,SIGUSR1);
X nap(200L);
X exit(UG_ENAB);
X case US_DIALOUT: /* enabled for login, currently dialout */
X case US_LOGGEDIN: /* enabled for login, in use */
X exit(UG_FAIL);
X }
X break;
X
X case 't':
X switch(status)
X {
X case US_NOTFOUND: /* not in utmp, or getty dead */
X exit(UGE_T_NOTFOUND);
X case US_LOGIN: /* enabled for login, idle */
X exit(UGE_T_LOGIN);
X case US_LOGGEDIN: /* enabled for login, in use */
X exit(UGE_T_LOGGEDIN);
X case US_DIALOUT: /* enabled for login, currently dialout */
X exit(UG_RESTART);
X }
X break;
X
X case 'r':
X switch(status)
X {
X case US_NOTFOUND: /* not in utmp, or getty dead */
X case US_LOGIN: /* enabled for login, idle */
X case US_LOGGEDIN: /* enabled for login, in use */
X exit(0);
X case US_DIALOUT: /* enabled for login, currently dialout */
X itmp = 5;
X while(itmp--)
X {
X if(kill(last_utmp.ut_pid,SIGUSR2))
X break;
X nap(100L);
X }
X exit(0);
X }
X break;
X }
X exit(0);
X} /* end of main */
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of ecuungetty.c */
SHAR_EOF
$TOUCH -am 0919193690 'ecuungetty/ecuungetty.c' &&
chmod 0644 ecuungetty/ecuungetty.c ||
echo 'restore of ecuungetty/ecuungetty.c failed'
Wc_c="`wc -c < 'ecuungetty/ecuungetty.c'`"
test 3923 -eq "$Wc_c" ||
echo 'ecuungetty/ecuungetty.c: original size 3923, current size' "$Wc_c"
# ============= mapkey/README ==============
if test ! -d 'mapkey'; then
echo 'x - creating directory mapkey'
mkdir 'mapkey'
fi
echo 'x - extracting mapkey/README (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'mapkey/README' &&
XThis file contains information necessary to map ALT-A through ALT-Z
Xin accordance with ecuxkey.h to produce unique codes so that
XALT-[A-Z] can cause ECU to execute procedures with a single keystroke.
X
XModify your /usr/lib/keyboard/keys value for the ALT values for
Xkey codes matching keys [a-z] as follows:
X
X ALT-unshifted
X |
X V
X
X 16 'q' 'Q' dc1 dc1 144 'Q' dc1 dc1 C
X 17 'w' 'W' etb etb 150 'W' etb etb C
X 18 'e' 'E' enq enq 132 'E' enq enq C
X 19 'r' 'R' dc2 dc2 145 'R' dc2 dc2 C
X 20 't' 'T' dc4 dc4 147 'T' dc4 dc4 C
X 21 'y' 'Y' em em 152 'Y' em em C
X 22 'u' 'U' nak nak 148 'U' nak nak C
X 23 'i' 'I' ht ht 136 'I' ht ht C
X 24 'o' 'O' si si 142 'O' si si C
X 25 'p' 'P' dle dle 143 'P' dle dle C
X 30 'a' 'A' soh soh 128 'A' soh soh C
X 31 's' 'S' dc3 dc3 146 'S' dc3 dc3 C
X 32 'd' 'D' eot eot 131 'D' eot eot C
X 33 'f' 'F' ack ack 133 'F' ack ack C
X 34 'g' 'G' bel bel 134 'G' bel bel C
X 35 'h' 'H' bs bs 135 'H' bs bs C
X 36 'j' 'J' nl nl 137 'J' nl nl C
X 37 'k' 'K' vt vt 138 'K' vt vt C
X 38 'l' 'L' np np 139 'L' np np C
X 44 'z' 'Z' sub sub 153 'Z' sub sub C
X 45 'x' 'X' can can 151 'X' can can C
X 46 'c' 'C' etx etx 130 'C' etx etx C
X 47 'v' 'V' syn syn 149 'V' syn syn C
X 48 'b' 'B' stx stx 129 'B' stx stx C
X 49 'n' 'N' so so 141 'N' so so C
X 50 'm' 'M' cr cr 140 'M' cr cr C
X
X
XA diff file for at.ibm.usa is supplied in keys.usa.ecu.d
X
X
Xvi fodder:
Xvi:set ts=8:
SHAR_EOF
$TOUCH -am 0509094590 'mapkey/README' &&
chmod 0644 mapkey/README ||
echo 'restore of mapkey/README failed'
Wc_c="`wc -c < 'mapkey/README'`"
test 2060 -eq "$Wc_c" ||
echo 'mapkey/README: original size 2060, current size' "$Wc_c"
# ============= mapkey/keys.usa.ecu.d ==============
echo 'x - extracting mapkey/keys.usa.ecu.d (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'mapkey/keys.usa.ecu.d' &&
XThe mapkey files are marked Confidential :-/, so diffs are supplied.
X
X*** /usr/lib/keyboard/at.ibm.usa Sat Jun 17 00:23:55 1989
X--- keys.usa.ecu Wed May 9 09:42:18 1990
X***************
X*** 39,54
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 'q' 'Q' dc1 dc1 C
X! 17 'w' 'W' etb etb 'w' 'W' etb etb C
X! 18 'e' 'E' enq enq 'e' 'E' enq enq C
X! 19 'r' 'R' dc2 dc2 'r' 'R' dc2 dc2 C
X! 20 't' 'T' dc4 dc4 't' 'T' dc4 dc4 C
X! 21 'y' 'Y' em em 'y' 'Y' em em C
X! 22 'u' 'U' nak nak 'u' 'U' nak nak C
X! 23 'i' 'I' ht ht 'i' 'I' ht ht C
X! 24 'o' 'O' si si 'o' 'O' si si C
X! 25 'p' 'P' dle dle 'p' '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
X--- 39,54 -----
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 144 'Q' dc1 dc1 C
X! 17 'w' 'W' etb etb 150 'W' etb etb C
X! 18 'e' 'E' enq enq 132 'E' enq enq C
X! 19 'r' 'R' dc2 dc2 145 'R' dc2 dc2 C
X! 20 't' 'T' dc4 dc4 147 'T' dc4 dc4 C
X! 21 'y' 'Y' em em 152 'Y' em em C
X! 22 'u' 'U' nak nak 148 'U' nak nak C
X! 23 'i' 'I' ht ht 136 'I' ht ht C
X! 24 'o' 'O' si si 142 'O' si si C
X! 25 'p' 'P' dle dle 143 '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***************
X*** 53,67
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 'a' 'A' soh soh C
X! 31 's' 'S' dc3 dc3 's' 'S' dc3 dc3 C
X! 32 'd' 'D' eot eot 'd' 'D' eot eot C
X! 33 'f' 'F' ack ack 'f' 'F' ack ack C
X! 34 'g' 'G' bel bel 'g' 'G' bel bel C
X! 35 'h' 'H' bs bs 'h' 'H' bs bs C
X! 36 'j' 'J' nl nl 'j' 'J' nl nl C
X! 37 'k' 'K' vt vt 'k' 'K' vt vt C
X! 38 'l' 'L' np np 'l' '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
X--- 53,67 -----
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 128 'A' soh soh C
X! 31 's' 'S' dc3 dc3 146 'S' dc3 dc3 C
X! 32 'd' 'D' eot eot 131 'D' eot eot C
X! 33 'f' 'F' ack ack 133 'F' ack ack C
X! 34 'g' 'G' bel bel 134 'G' bel bel C
X! 35 'h' 'H' bs bs 135 'H' bs bs C
X! 36 'j' 'J' nl nl 137 'J' nl nl C
X! 37 'k' 'K' vt vt 138 'K' vt vt C
X! 38 'l' 'L' np np 139 '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***************
X*** 67,79
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 'z' 'Z' sub sub C
X! 45 'x' 'X' can can 'x' 'X' can can C
X! 46 'c' 'C' etx etx 'c' 'C' etx etx C
X! 47 'v' 'V' syn syn 'v' 'V' syn syn C
X! 48 'b' 'B' stx stx 'b' 'B' stx stx C
X! 49 'n' 'N' so so 'n' 'N' so so C
X! 50 'm' 'M' cr cr 'm' '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
X--- 67,79 -----
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 153 'Z' sub sub C
X! 45 'x' 'X' can can 151 'X' can can C
X! 46 'c' 'C' etx etx 130 'C' etx etx C
X! 47 'v' 'V' syn syn 149 'V' syn syn C
X! 48 'b' 'B' stx stx 129 'B' stx stx C
X! 49 'n' 'N' so so 141 'N' so so C
X! 50 'm' 'M' cr cr 140 '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
SHAR_EOF
$TOUCH -am 0509094390 'mapkey/keys.usa.ecu.d' &&
chmod 0644 mapkey/keys.usa.ecu.d ||
echo 'restore of mapkey/keys.usa.ecu.d failed'
Wc_c="`wc -c < 'mapkey/keys.usa.ecu.d'`"
test 5709 -eq "$Wc_c" ||
echo 'mapkey/keys.usa.ecu.d: original size 5709, current size' "$Wc_c"
# ============= bperr/bperr.c ==============
if test ! -d 'bperr'; then
echo 'x - creating directory bperr'
mkdir 'bperr'
fi
echo 'x - extracting bperr/bperr.c (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'bperr/bperr.c' &&
X/*+-------------------------------------------------------------------------
X bperr.c - build proc_error .c from ecuerror.h
X wht%n4hgf at gatech.edu
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:08-14-1990-20:39-wht at n4hgf-ecu3.00-flush old edit history */
X
X#include <stdio.h>
X#include <time.h>
X#include "../stdio_lint.h"
X
X#define MAXLINE 256
X#define MAXFLDS 50
X
Xchar *strchr();
X
Xchar line[MAXLINE];
Xchar copy[MAXLINE];
Xchar *fields[MAXFLDS + 1];
X
Xchar *bc =
X"/*+-------------------------------------------------------------------------";
Xchar *ec =
X"--------------------------------------------------------------------------*/";
X/*+-------------------------------------------------------------------------
X splitter(sep)
X--------------------------------------------------------------------------*/
Xsplitter(sep)
Xchar *sep;
X{
Xchar *tmp = copy;
Xregister int fld;
X
X for (fld = 1; fld <= MAXFLDS; fld++)
X fields[fld] = NULL;
X if (!strlen(sep) || !strlen(line))
X return(0);
X fld = 1;
X sprintf(copy, "%s", line);
X while (fld < MAXFLDS)
X {
X while (strchr(sep, *tmp))
X if (!*++tmp) return fld;
X fields[fld++] = tmp++;
X while (!strchr(sep, *tmp))
X if (!*++tmp) return fld;
X *tmp++ = '\0';
X }
X return(fld);
X} /* end of splitter */
X
X/*+-------------------------------------------------------------------------
X main(argc,argv)
X--------------------------------------------------------------------------*/
Xmain(argc,argv)
Xint argc;
Xchar **argv;
X{
Xregister field_count;
Xregister itmp;
Xlong time();
Xstruct tm *localtime();
Xlong cur_time;
Xstruct tm *ltime;
XFILE *fp;
Xchar cmd[256];
X
X freopen("proc_error.c","w",stdout);
X
X puts(bc);
X puts("\tproc_error.c - print ecu procedure error");
X puts(ec);
X puts("/*+:EDITS:*/");
X
X cur_time = time((long *)0);
X ltime = localtime(&cur_time);
X printf(
X "/*:%02d-%02d-%04d-%02d:%02d-build_err-creation from ecuerror.h */\n",
X ltime->tm_mon+1,ltime->tm_mday,ltime->tm_year + 1900,
X ltime->tm_hour,ltime->tm_min);
X puts("");
X puts("#include \"ecu.h\"");
X puts("#include \"ecuerror.h\"");
X puts("");
X puts(bc);
X puts("\tproc_error(erc) - print error message");
X puts(ec);
X puts("void");
X puts("proc_error(erc)");
X puts("int erc;");
X puts("{");
X puts("\tswitch(erc)");
X puts("\t{");
X
X for(itmp = 0; itmp <= MAXFLDS; itmp++)
X fields[itmp] = NULL;
X
X fp = fopen("ecuerror.h","r");
X
X while(fgets(line,sizeof(line),fp))
X {
X line[strlen(line) - 1] = 0;
X fields[0] = line;
X field_count = splitter(" \t");
X if(!field_count || (strcmp(fields[1],"#define")))
X continue;
X if((!strcmp(fields[2],"eFATAL_ALREADY")) ||
X (!strcmp(fields[2],"eWARNING_ALREADY")) ||
X (!strncmp(fields[2],"e_",2)))
X continue;
X printf("\t\tcase %s:\n",fields[2]);
X fputs("\t\t\tpputs(\"",stdout);
X
X for(itmp = 1; itmp < field_count - 1; itmp++)
X if(!strcmp(fields[itmp],"/*"))
X break;
X itmp++;
X
X for(; itmp < field_count - 1; itmp++)
X {
X fputs(fields[itmp],stdout);
X if(itmp != field_count - 2)
X fputc(' ',stdout);
X }
X fputs("\\n\");\n",stdout);
X puts("\t\t\tbreak;");
X }
X puts("\t\tcase eFATAL_ALREADY:");
X puts("\t\tcase eWARNING_ALREADY:");
X puts("\t\t\tbreak;");
X puts("\t\tdefault:");
X puts("\t\t\tpprintf(\"unknown error %x\\n\",erc);");
X puts("\t\t\tbreak;");
X
X puts("\t}");
X puts("} /* end of proc_error */\n");
X puts("/* vi: set tabstop=4 shiftwidth=4: */");
X puts("/* end of proc_error.c */");
X freopen("/dev/tty","a",stdout);
X sprintf(cmd,"fcrc -u proc_error.c");
X system(cmd);
X exit(0);
X} /* end of main */
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of bperr.c */
SHAR_EOF
$TOUCH -am 0814204290 'bperr/bperr.c' &&
chmod 0644 bperr/bperr.c ||
echo 'restore of bperr/bperr.c failed'
Wc_c="`wc -c < 'bperr/bperr.c'`"
test 3558 -eq "$Wc_c" ||
echo 'bperr/bperr.c: original size 3558, current size' "$Wc_c"
# ============= z/Makefile ==============
if test ! -d 'z'; then
echo 'x - creating directory z'
mkdir 'z'
fi
echo 'x - extracting z/Makefile (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'z/Makefile' &&
X# CHK=0xC8A5
X#+-------------------------------------------------------------------
X# Makefile for ecurz/ecusz (ecu file transfer)
X#--------------------------------------------------------------------
X#+:EDITS:*/
X#:05-07-1990-21:21-wht at n4hgf-omit fcrc usage in release makes
X#:01-03-1990-15:30-wht-quit using -Ox --- Oi screws up too much
X#:11-23-1989-02:37-wht-start support for UNIX V/386
X#:10-11-1989-18:46-wht-needed more work to get makes to work away from my system
X#:07-03-1989-22:58-wht------ x2.00 -----
X#:05-08-1989-16:51-wht-rename files, solidify make procedure
X#:01-11-1989-21:00-wht-change over to 386
X
XSHELL = /bin/sh
X
X.SUFFIXES: .o .c .h
X
XSYSTEM = `sysdep =M_UNIX UNIX Sys V/386 =M_I386 Xenix/386 =M_I286 Xenix/286`
XCOMFLAGS = -i `sysdep =M_I386 -Octl -CSON =M_I286 -M2le -O -F 1000 -LARGE`
XCFLAGS = -c $(EXTRA) $(COMFLAGS) -DMD -DLINT_ARGS -DREADCHECK -DLOG_XFER -DM_TERMCAP
X
XLDFLAGS = -ltcap -ltermlib -lx
X
XCOMMON_SRC = \
X zcommon.c\
X zmodem.c\
X zcurses.c\
X baudtest.c\
X zdebug.c
X
XCOMMON_OBJ = \
X zcommon.o\
X zmodem.o\
X zcurses.o\
X baudtest.o\
X ../logevent.o
X
X.c.o:; cc $(CFLAGS) $*.c
X
Xall: ecusz ecurz
X
Xecusz: ecusz.o $(COMMON_OBJ)
X echo 'char *makedate="'`date` $(SYSTEM)'";' >ecuszmake.c
X cc $(CFLAGS) ecuszmake.c ; rm ecuszmake.c
X cc $(COMFLAGS) ecusz.o ecuszmake.o $(COMMON_OBJ) $(LDFLAGS) -o ecusz
X rm -f ecuszmake.o
X
Xecurz: ecurz.o $(COMMON_OBJ)
X echo 'char *makedate="'`date` $(SYSTEM)'";' >ecurzmake.c
X cc $(CFLAGS) ecurzmake.c ; rm ecurzmake.c
X cc $(COMFLAGS) ecurz.o ecurzmake.o $(COMMON_OBJ) $(LDFLAGS) -o ecurz
X rm -f ecurzmake.o
X
Xcomsrc.fls: $(COMMON_SRC) Makefile
X ls $(COMMON_SRC) > comsrc.fls
X
Xlint: zlint.h
X
Xzlint.h: comsrc.fls
X echo ' ' > zlint.h
X csh ../zgcc comsrc.fls zlint.h $(CFLAGS)
X
X../logevent.o:
X cd ..;make logevent.o
X
X#
X# MAKE DEPEND: regenerate .c:.h, .ol:.c, .ol:.asm dependencies automatically
X#
Xdepend:
X rm -f depend.tmp
X if test '$(COMMON_SRC)' ;\
X then (grep '^#include' $(COMMON_SRC) \
X | sed -e 's?:[^<]*<\([^>]*\)>.*?: /usr/include/\1?'\
X -e 's?:[^"]*"\([^"]*\)".*?: \1?'\
X -e 's?\(.*\)\.c?\1.o?'\
X >> depend.tmp) ;\
X fi
X
X echo '/^# DO NOT DELETE THIS LINE' >exdep.tmp
X echo '.+1,$$d' >>exdep.tmp
X echo 'r depend.tmp' >> exdep.tmp
X echo 'w' >> exdep.tmp
X cp Makefile Makefile.new
X ex Makefile.new < exdep.tmp
X rm exdep.tmp depend.tmp
X echo '# DEPENDENCIES MUST END AT END OF FILE' >>Makefile.new
X echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY'>>Makefile.new
X echo '# see make depend above'>>Makefile.new
X mv Makefile Makefile.bak
X mv Makefile.new Makefile
X
X# DO NOT DELETE THIS LINE
Xzcommon.o: /usr/include/stdio.h
Xzcommon.o: /usr/include/signal.h
Xzcommon.o: /usr/include/setjmp.h
Xzcommon.o: /usr/include/ctype.h
Xzcommon.o: /usr/include/pwd.h
Xzcommon.o: zmodem.h
Xzcommon.o: /usr/include/fcntl.h
Xzmodem.o: zmodem.h
Xzcurses.o: /usr/include/curses.h
Xzcurses.o: /usr/include/sys/types.h
Xzcurses.o: /usr/include/sys/stat.h
Xzcurses.o: /usr/include/ctype.h
Xzcurses.o: /usr/include/signal.h
Xzcurses.o: /usr/include/time.h
Xzcurses.o: /usr/include/sys/timeb.h
Xzcurses.o: ../pc_scr.h
X# DEPENDENCIES MUST END AT END OF FILE
X# IF YOU PUT STUFF HERE IT WILL GO AWAY
X# see make depend above
SHAR_EOF
$TOUCH -am 1204054090 'z/Makefile' &&
chmod 0644 z/Makefile ||
echo 'restore of z/Makefile failed'
Wc_c="`wc -c < 'z/Makefile'`"
test 3163 -eq "$Wc_c" ||
echo 'z/Makefile: original size 3163, current size' "$Wc_c"
# ============= z/baudtest.c ==============
echo 'x - extracting z/baudtest.c (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'z/baudtest.c' &&
X
X/*+-------------------------------------------------------------------------
X baudtest.c
X wht at n4hgf.Mt-Park.GA.US
X
XAlas, on some systems, curses insists on sgtty.h inclusion
Xwhich does not get aslong with termio.h AT ALL
X--------------------------------------------------------------------------*/
X/*+:EDITS:*/
X/*:12-04-1990-05:36-wht-creation */
X
X#include <stdio.h>
X#include <sys/types.h>
X#include <termio.h>
X
Xextern int iofd;
Xextern int no_curses;
Xextern int report_verbosity;
Xextern int report_init_complete;
Xextern char *numeric_revision;
X
X/*+-------------------------------------------------------------------------
X test_tty_and_line_baud()
X
X if non-multiscreen tty baud rate not at least that
X of the attached line, use no curses, but do be a bit more
X verbose than if tty not char special
X
X--------------------------------------------------------------------------*/
Xvoid
Xtest_tty_and_line_baud()
X{
X struct termio tty_termio;
X struct termio line_termio;
X
X memset((char *)&tty_termio,0,sizeof(struct termio));
X memset((char *)&line_termio,0,sizeof(struct termio));
X if(ioctl(0,TCGETA,&tty_termio) || ioctl(iofd,TCGETA,&line_termio) ||
X ((tty_termio.c_cflag & CBAUD) < ((line_termio.c_cflag & CBAUD))))
X {
X fprintf(stderr,"%s %o %o\r\n",numeric_revision,
X (tty_termio.c_cflag & CBAUD), (line_termio.c_cflag & CBAUD));
X no_curses = 1;
X report_verbosity = 0;
X report_init_complete = 1;
X }
X
X} /* end of test_tty_and_line_baud */
X
X/* vi: set tabstop=4 shiftwidth=4: */
X/* end of baudtest.c */
SHAR_EOF
$TOUCH -am 1221154390 'z/baudtest.c' &&
chmod 0644 z/baudtest.c ||
echo 'restore of z/baudtest.c failed'
Wc_c="`wc -c < 'z/baudtest.c'`"
test 1509 -eq "$Wc_c" ||
echo 'z/baudtest.c: original size 1509, current size' "$Wc_c"
true || echo 'restore of z/ecurz.c failed'
echo End of part 18, continue with part 19
exit 0
--------------------------------------------------------------------
Warren Tucker, TuckerWare emory!n4hgf!wht or wht at n4hgf.Mt-Park.GA.US
Hacker Extraordinaire d' async PADs, pods, proteins and protocols
exit 0 # Just in case...
--
Kent Landfield INTERNET: kent at 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 at uunet.uu.net.
More information about the Comp.sources.misc
mailing list