Xref: utzoo news.software.nntp:940 news.software.b:6235 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!wuarchive!bcm!tmc.edu!sob From: rrn@lib.tmc.edu (Stan Barber) Newsgroups: news.software.nntp,news.software.b Subject: RN/RRN Patch 49 (REPOST) Message-ID: <2850@gazette.bcm.tmc.edu> Date: 24 Nov 90 23:06:04 GMT Sender: usenet@bcm.tmc.edu Followup-To: poster Organization: Baylor College of Medicine, Houston, Tx Lines: 1919 Nntp-Posting-Host: tmc.edu Originator: sob@tmc.edu Description: This is an official patch for rn 4.3. This is patch 49. If you need the other patches, you can get them via the Archive Server by sending mail to "archive-server@bcm.tmc.edu" with the subject line of the form "send public rn.XX.patch". Note that only patches 41 and later are available from this resource at this time. The fully patched rn kit is also available via anonymous ftp from lib.tmc.edu and gazette.bcm.tmc.edu. Look in public/rn. This patch fixes the following problems or adds the following new features: Reversed a patch from number 48 that broke the handling of the -e flag. Added a fix that deals with long lines not getting cleared before the line in reused. Changes to all .SH files that didn't have . ./config.sh at their first executed command. Added support for hiding hosts behind the domain in addresses. Some minor changes to make POSIX compliant machines happier. This version has been sucessfully compiled and used as rrn on the following systems: Sun 3/4 running SunOS 4.1 Solboune 5/600 running OS/SMP 4.0D Generic 386/33 running Interactive Unix 3.2 This version has been run as rn on a VAX running Ultrix 3.1 and on a Solbourne running OS/SMP 4.0D Fix: cd to your rn source directory and patch away Index: Configure Prereq: 4.3.2.31 *** Configure Thu Nov 22 22:49:33 1990 --- ../new/Configure Fri Nov 23 09:38:30 1990 *************** *** 3,9 # If these # comments don't work, trim them. Don't worry about the other # shell scripts, Configure will trim # comments from them for you. # ! # $Header: Configure,v 4.3.2.31 90/11/10 00:08:08 sob Exp $ # # $Log: Configure,v $ # Revision 4.3.2.31 90/11/10 00:08:08 sob --- 3,9 ----- # If these # comments don't work, trim them. Don't worry about the other # shell scripts, Configure will trim # comments from them for you. # ! # $Header: Configure,v 4.3.2.34 90/11/22 17:49:31 sob Exp $ # # $Log: Configure,v $ # Revision 4.3.2.34 90/11/22 17:49:31 sob *************** *** 6,11 # $Header: Configure,v 4.3.2.31 90/11/10 00:08:08 sob Exp $ # # $Log: Configure,v $ # Revision 4.3.2.31 90/11/10 00:08:08 sob # This one appears to work for Interactive Unix. # --- 6,24 ----- # $Header: Configure,v 4.3.2.34 90/11/22 17:49:31 sob Exp $ # # $Log: Configure,v $ + # Revision 4.3.2.34 90/11/22 17:49:31 sob + # Fixed bug in "hidden" code. + # + # Revision 4.3.2.33 90/11/22 13:42:44 sob + # Added support for the Uniq System V.2 OS (courtesy of a3@rivm.nl & + # frans@rivm.nl). + # Added support for making all mail and news appear to come from the domain + # itself instead of individual hosts within a domain. + # + # Revision 4.3.2.32 90/11/22 13:30:37 sob + # Fixes to make using the supplied ndir.c work correctly. + # Fixes to make building rn on an Apollo work correctly. + # # Revision 4.3.2.31 90/11/10 00:08:08 sob # This one appears to work for Interactive Unix. # *************** *** 237,242 serverfile='' NNTPSRC='' CONFIG='' echo "Beginning of configuration questions for rn kit." : Eunice requires " " instead of "", can you believe it --- 250,257 ----- serverfile='' NNTPSRC='' CONFIG='' + hidden='' + addcflags='' echo "Beginning of configuration questions for rn kit." : Eunice requires " " instead of "", can you believe it *************** *** 340,345 EOH echo $n "[Type carriage return to continue] $c" . myread : get old answers, if there is a config file out there if test -f config.sh; then echo " " --- 355,363 ----- EOH echo $n "[Type carriage return to continue] $c" . myread + : n and c get changed by config.sh -- so save them + Xn=$n + Xc=$c : get old answers, if there is a config file out there if test -f config.sh; then echo " " *************** *** 346,351 echo "(Fetching default answers from your old config.sh file...)" . config.sh fi : get list of predefined functions in a handy place echo " " --- 364,372 ----- echo "(Fetching default answers from your old config.sh file...)" . config.sh fi + : n and c get changed by config.sh -- restore them + n=$Xn + c=$Xc : get list of predefined functions in a handy place echo " " *************** *** 361,368 echo "Your C library is in /usr/lib/libc.a, of all places." libc=/usr/lib/libc.a else ! if test -f "$libc"; then ! echo "Your C library is in $libc, like you said before." else cat <<'EOM' --- 382,390 ----- echo "Your C library is in /usr/lib/libc.a, of all places." libc=/usr/lib/libc.a else ! if test -f /lib/clib; then ! echo "Your C library is in /lib/clib. How nonstandard, must be Apollo." ! libc=/lib/clib else if test -f "$libc"; then echo "Your C library is in $libc, like you said before." *************** *** 364,370 if test -f "$libc"; then echo "Your C library is in $libc, like you said before." else ! cat <<'EOM' I can't seem to find your C library. I've looked for /lib/libc.a and /usr/lib/libc.a, but neither of those are there. Perhaps you can find --- 386,395 ----- echo "Your C library is in /lib/clib. How nonstandard, must be Apollo." libc=/lib/clib else ! if test -f "$libc"; then ! echo "Your C library is in $libc, like you said before." ! else ! cat <<'EOM' I can't seem to find your C library. I've looked for /lib/libc.a and /usr/lib/libc.a, but neither of those are there. Perhaps you can find *************** *** 371,379 out by reading `man 3 intro' if you have the 'man' facility installed. EOM ! echo $n "What is the full name of your C library? $c" ! . myread ! libc="$ans" fi fi fi --- 396,405 ----- out by reading `man 3 intro' if you have the 'man' facility installed. EOM ! echo $n "What is the full name of your C library? $c" ! . myread ! libc="$ans" ! fi fi fi fi *************** *** 383,394 if ar t $libc >libc.list 2>/dev/null; then echo "done" else ! if $contains SIGAPOLLO /usr/include/signal.h >/dev/null 2>&1; then ! cat <<'EOM' ! (AHA, you are ! an Apollo user. In case you didn't already know, the pathname of your ! EOM ! echo $n "C library ought to be /lib/clib)...$c" if nm -g $libc | sed -e 's/$/.o/' >libc.list; then echo "done" else --- 409,415 ----- if ar t $libc >libc.list 2>/dev/null; then echo "done" else ! if test $libc = /lib/clib; then if nm -g $libc | sed -e 's/$/.o/' >libc.list; then echo "done" else *************** *** 633,638 getuidgid=undef fi : see if sh knows # comments echo " " echo "Checking your sh to see if it knows about # comments..." --- 654,683 ----- getuidgid=undef fi + cat <<'EOT' > s5uniq + if test -f /bin/uname + then + case `uname -r -m` in + "5.3 vax-"*) + if [ -f /usr/lib/libnet.a \ + -a -f /usr/lib/libhdb.a \ + -a -f /usr/lib/libbbn.a \ + -a -f /usr/lib/libstr.a ] + then + exit 0 + fi;; + esac + fi + exit 1 + EOT + chmod 755 s5uniq + if s5uniq; then + echo "This looks like Uniq. What a pity." + socketlib="-lnet -lhdb -lbbn -lstr" + addcflags="-DR_UNIQ -DUSG" + # -DR_UNIQ and -DUSG are needed for ~nntp/common/clientlib.c + fi + : see if sh knows # comments echo " " echo "Checking your sh to see if it knows about # comments..." *************** *** 1000,1006 esac fi ! : get organizaton name longshots='/usr/src/new /usr/src/local /usr/local/src' case "$orgname" in '') if xxx=`loc news/src/defs.h x $longshots`; then --- 1045,1066 ----- esac fi ! case $hidden in ! define) dflt=y;; ! *) dflt=n;; ! esac ! $echo "Do you want your site ($sitename) " ! $echo $n "to be hidden in domain '$domain'? [$dflt] $c" ! . myread ! case $ans in ! y*) hidden=define ! sitename=$domain ! ;; ! *) hidden=undef ! ;; ! esac ! ! : get organization name longshots='/usr/src/new /usr/src/local /usr/local/src' case "$orgname" in '') if xxx=`loc news/src/defs.h x $longshots`; then *************** *** 1204,1210 ;; *) $echo " " ! case "$usgname" in define) dflt=y;; undef) --- 1264,1270 ----- ;; *) $echo " " ! case "$usgnam" in define) dflt=y;; undef) *************** *** 1333,1340 $echo $n "Is this correct? [y] $c" . myread case $ans in ! n*|f*) memcpy=undef ;; ! *) memcpy=define ;; esac fi --- 1393,1400 ----- $echo $n "Is this correct? [y] $c" . myread case $ans in ! n*|f*) memcpy='undef' ;; ! *) memcpy='define' ;; esac fi *************** *** 1703,1708 usendir=define ndirc='ndir.c' ndiro='ndir.o' fi fi --- 1763,1769 ----- usendir=define ndirc='ndir.c' ndiro='ndir.o' + dirtype=direct fi fi *************** *** 2052,2058 if usg && $test -f $libexp/recmail; then mailer=$libexp/recmail else ! mailer=/bin/mail fi fi $echo "Mail sender is $mailer" --- 2113,2123 ----- if usg && $test -f $libexp/recmail; then mailer=$libexp/recmail else ! if s5uniq && $test -f /usr/bin/mailx; then ! mailer=/usr/bin/mailx ! else ! mailer=/bin/mail ! fi fi fi $echo "Mail sender is $mailer" *************** *** 2421,2426 serverfile='$serverfile' NNTPSRC='$NNTPSRC' CONFIG=true EOT : create config.h file --- 2486,2493 ----- serverfile='$serverfile' NNTPSRC='$NNTPSRC' CONFIG=true + hidden='$hidden' + addcflags='$addcflags' EOT : create config.h file Index: Makefile.SH Prereq: 4.3.2.10 *** Makefile.SH Thu Nov 22 22:50:16 1990 --- ../new/Makefile.SH Fri Nov 23 09:39:07 1990 *************** *** 3,9 esac echo "Extracting Makefile (with variable substitutions)" cat >Makefile <Makefile <Pnews <Pnews <Rnmail <Rnmail <Rnmail <Rnmail <art.help <art.help <art.help <art.help <makedir <makedir <makedir <makedir <mbox.saver <mbox.saver <mbox.saver <mbox.saver <newsetup <newsetup </tmp/n.tmp\$\$ \\ - -e 's/^\([^ ]*\) .*\$/\1:/' \\ - -e '/^control:/{' \\ - -e " s/:/!/" \\ - -e " w /tmp/n.test\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e '/^junk:/{' \\ - -e " s/:/!/" \\ - -e " w /tmp/n.test\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e '/test:/{' \\ - -e " s/:/!/" \\ - -e " w /tmp/n.test\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^\$locorg\./{" \\ - -e " w /tmp/n.\$locorg\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^\$organization\./{" \\ - -e " w /tmp/n.\$organization\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^\$city\./{" \\ - -e " w /tmp/n.\$city\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^\$cntry\./{" \\ - -e " w /tmp/n.\$cntry\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^\$state\./{" \\ - -e " w /tmp/n.\$state\$\$" \\ - -e ' d' \\ - -e '}' - - $sed /tmp/n.local\$\$ \\ - -e "/^\$cont\./{" \\ - -e " w /tmp/n.\$cont\$\$" \\ - -e ' d' \\ - -e '}' - - $sed /tmp/n.local\$\$ \\ - -e "/^to\./{" \\ - -e " s/:/!/" \\ - -e " w /tmp/n.to\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^comp\./{" \\ - -e " w /tmp/n.comp\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^news\./{" \\ - -e " w /tmp/n.news\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^rec\./{" \\ - -e " w /tmp/n.rec\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^sci\./{" \\ - -e " w /tmp/n.sci\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/^soc\./{" \\ - -e " w /tmp/n.soc\$\$" \\ - -e ' d' \\ - -e '}' \\ - -e "/\./{" \\ - -e " w /tmp/n.misc\$\$" \\ - -e ' d' \\ - -e '}' - - if $test -s \$dotdir/.newsrc ; then $echo "Saving your current .newsrc as .oldnewsrc..." $mv -f \$dotdir/.newsrc \$dotdir/.oldnewsrc --- 71,76 ----- #NORMAL~*) active=\`$filexp \$active\` ;; #NORMALesac if $test -s \$dotdir/.newsrc ; then $echo "Saving your current .newsrc as .oldnewsrc..." $mv -f \$dotdir/.newsrc \$dotdir/.oldnewsrc *************** *** 155,160 $sed <\$active ' /^to\./d s/ .*// s/^/ / s/^ '\$locorg'\./01&/ --- 80,86 ----- $sed <\$active ' /^to\./d + / [^mny][^ ]*$/d s/ .*// s/^/ / s/^ '\$locorg'\./01&/ Index: ng.help.SH Prereq: 4.3 *** ng.help.SH Thu Nov 22 22:50:26 1990 --- ../new/ng.help.SH Fri Nov 23 09:39:30 1990 *************** *** 1,5 case $CONFIG in ! '') . config.sh ;; esac echo "Extracting ng.help (with variable substitutions)" $spitshell >ng.help <ng.help <ng.help <ng.help <norm.saver <norm.saver <norm.saver <norm.saver <pager.help <pager.help <pager.help <pager.help <subs.help <subs.help <subs.help <subs.help < #ifdef IOCTL #include ! #endif IOCTL #ifdef FCNTL # include --- 104,110 ----- #include #ifdef IOCTL #include ! #endif #ifdef FCNTL # include *************** *** 143,148 /* some handy defs */ #define bool char #define TRUE (1) #define FALSE (0) #define Null(t) ((t)0) --- 150,156 ----- /* some handy defs */ #define bool char + #ifndef TRUE #define TRUE (1) #endif #ifndef FALSE *************** *** 144,149 #define bool char #define TRUE (1) #define FALSE (0) #define Null(t) ((t)0) #define Nullch Null(char *) --- 152,159 ----- #define bool char #ifndef TRUE #define TRUE (1) + #endif + #ifndef FALSE #define FALSE (0) #endif #define Null(t) ((t)0) *************** *** 145,150 #define bool char #define TRUE (1) #define FALSE (0) #define Null(t) ((t)0) #define Nullch Null(char *) #define Nullfp Null(FILE *) --- 155,161 ----- #endif #ifndef FALSE #define FALSE (0) + #endif #define Null(t) ((t)0) #define Nullch Null(char *) #define Nullfp Null(FILE *) *************** *** 386,392 # ifdef TERSE # define IF(c) if (c) # define ELSE else ! # else !TERSE # define IF(c) # define ELSE # endif --- 397,403 ----- # ifdef TERSE # define IF(c) if (c) # define ELSE else ! # else # define IF(c) # define ELSE # endif *************** *** 390,396 # define IF(c) # define ELSE # endif ! #else !VERBOSE # ifndef TERSE # define TERSE # endif --- 401,407 ----- # define IF(c) # define ELSE # endif ! #else /* !VERBOSE */ # ifndef TERSE # define TERSE # endif *************** *** 663,669 # define MBOXSAVER "%X/mbox.saver %P/rrn%a.%$ %P %c %a %B %C \"%b\" \"From %T %`date`\"" # else # define MBOXSAVER "%X/mbox.saver %A %P %c %a %B %C \"%b\" \"From %T %`date`\"" ! # endif SERVER # else # ifdef CONDSUB # ifdef SERVER --- 674,680 ----- # define MBOXSAVER "%X/mbox.saver %P/rrn%a.%$ %P %c %a %B %C \"%b\" \"From %T %`date`\"" # else # define MBOXSAVER "%X/mbox.saver %A %P %c %a %B %C \"%b\" \"From %T %`date`\"" ! # endif # else # ifdef CONDSUB # ifdef SERVER *************** *** 667,673 # else # ifdef CONDSUB # ifdef SERVER ! # define MBOXSAVER "%X/mbox.saver %P/rrn%a.%$ %P %c %a %B %C \"%b\ \"From %T %(%[date]=^\\(\\w*\\), \\(\\w*\\)-\\(\\w*\\)-\\(\\w*\\) \\([^ ]*\\)? %1 %3 %(%2=..?%2: %2) %5 19%4)\"" # else --- 678,684 ----- # else # ifdef CONDSUB # ifdef SERVER ! # define MBOXSAVER "%X/mbox.saver %P/rrn%a.%$ %P %c %a %B %C \"%b\"\ \"From %T %(%[date]=^\\(\\w*\\), \\(\\w*\\)-\\(\\w*\\)-\\(\\w*\\) \\([^ ]*\\)? %1 %3 %(%2=..?%2: %2) %5 19%4)\"" # else *************** *** 809,816 EXT bool muck_up_clear INIT(FALSE); /* -loco */ EXT bool erase_screen INIT(FALSE); /* -e */ #ifdef CLEAREOL ! EXT bool can_home_clear INIT(FALSE); /* fancy -e -- PWP */ ! #endif CLEAREOL EXT bool findlast INIT(FALSE); /* -r */ EXT bool typeahead INIT(FALSE); /* -T */ #ifdef VERBOSE --- 820,827 ----- EXT bool muck_up_clear INIT(FALSE); /* -loco */ EXT bool erase_screen INIT(FALSE); /* -e */ #ifdef CLEAREOL ! EXT bool can_home_clear INIT(FALSE); /* fancy -e */ ! #endif EXT bool findlast INIT(FALSE); /* -r */ EXT bool typeahead INIT(FALSE); /* -T */ #ifdef VERBOSE Index: term.c Prereq: 4.3.2.10 *** term.c Thu Nov 22 22:49:47 1990 --- ../new/term.c Fri Nov 23 09:38:50 1990 *************** *** 1,4 ! /* $Header: term.c,v 4.3.2.10 90/11/05 23:41:29 sob Exp $ * * $Log: term.c,v $ * Revision 4.3.2.10 90/11/05 23:41:29 sob --- 1,4 ----- ! /* $Header: term.c,v 4.3.2.11 90/11/22 13:34:06 sob Exp $ * * $Log: term.c,v $ * Revision 4.3.2.11 90/11/22 13:34:06 sob *************** *** 1,6 /* $Header: term.c,v 4.3.2.10 90/11/05 23:41:29 sob Exp $ * * $Log: term.c,v $ * Revision 4.3.2.10 90/11/05 23:41:29 sob * Now it's gone. * --- 1,9 ----- /* $Header: term.c,v 4.3.2.11 90/11/22 13:34:06 sob Exp $ * * $Log: term.c,v $ + * Revision 4.3.2.11 90/11/22 13:34:06 sob + * Added a change to circfill to make it work with POSIX-compliant OSes. + * * Revision 4.3.2.10 90/11/05 23:41:29 sob * Now it's gone. * *************** *** 206,212 CD = Tgetstr("cd"); /* clear to end of display */ if (!*CE || !*CD || (!*CM && !*HO)) /* can we CE, CD, and home? */ can_home_clear = FALSE; /* no, so disable use of clear eol */ ! #endif CLEAREOL SO = Tgetstr("so"); /* begin standout */ SE = Tgetstr("se"); /* end standout */ if ((SG = tgetnum("sg"))<0) --- 209,215 ----- CD = Tgetstr("cd"); /* clear to end of display */ if (!*CE || !*CD || (!*CM && !*HO)) /* can we CE, CD, and home? */ can_home_clear = FALSE; /* no, so disable use of clear eol */ ! #endif /* CLEAREOL */ SO = Tgetstr("so"); /* begin standout */ SE = Tgetstr("se"); /* end standout */ if ((SG = tgetnum("sg"))<0) *************** *** 346,352 map = (KEYMAP*)safemalloc(sizeof(KEYMAP)); #else map = Null(KEYMAP*); ! #endif lint for (i=127; i>=0; --i) { map->km_ptr[i].km_km = Null(KEYMAP*); map->km_type[i] = KM_NOTHIN; --- 349,355 ----- map = (KEYMAP*)safemalloc(sizeof(KEYMAP)); #else map = Null(KEYMAP*); ! #endif /* lint */ for (i=127; i>=0; --i) { map->km_ptr[i].km_km = Null(KEYMAP*); map->km_type[i] = KM_NOTHIN; *************** *** 620,625 { register int Howmany = read(devtty,circlebuf+nextin,1); if (Howmany) { nextin += Howmany; nextin %= PUSHSIZE; --- 623,630 ----- { register int Howmany = read(devtty,circlebuf+nextin,1); + if (Howmany < 0 && errno == EAGAIN) /* POSIX sez this is how it works */ + Howmany = 0; if (Howmany) { nextin += Howmany; nextin %= PUSHSIZE; *************** *** 626,633 } return Howmany; } ! #endif PENDING ! #endif FIONREAD void pushchar(c) --- 631,638 ----- } return Howmany; } ! #endif /* PENDING */ ! #endif /* FIONREAD */ void pushchar(c) *************** *** 643,649 circlebuf[nextout] = c; } ! #else PUSHBACK #ifndef read_tty /* read a character from the terminal, with hacks for O_NDELAY reads */ --- 648,654 ----- circlebuf[nextout] = c; } ! #else /* PUSHBACK */ #ifndef read_tty /* read a character from the terminal, with hacks for O_NDELAY reads */ *************** *** 665,672 return size; } } ! #endif read_tty ! #endif PUSHBACK /* print an underlined string, one way or another */ --- 670,677 ----- return size; } } ! #endif /* read_tty */ ! #endif /* PUSHBACK */ /* print an underlined string, one way or another */ *************** *** 1061,1067 tputs (HO, 1, putchr); /* home via HO */ } } ! #endif CLEAREOL void --- 1066,1072 ----- tputs (HO, 1, putchr); /* home via HO */ } } ! #endif void Index: term.h Prereq: 4.3.2.4 *** term.h Thu Nov 22 22:50:10 1990 --- ../new/term.h Fri Nov 23 09:39:14 1990 *************** *** 1,4 ! /* $Header: term.h,v 4.3.2.4 90/11/05 23:54:49 sob Exp $ * * $Log: term.h,v $ * Revision 4.3.2.4 90/11/05 23:54:49 sob --- 1,4 ----- ! /* $Header: term.h,v 4.3.2.5 90/11/22 13:48:09 sob Exp $ * * $Log: term.h,v $ * Revision 4.3.2.5 90/11/22 13:48:09 sob *************** *** 1,6 /* $Header: term.h,v 4.3.2.4 90/11/05 23:54:49 sob Exp $ * * $Log: term.h,v $ * Revision 4.3.2.4 90/11/05 23:54:49 sob * changed maybe_eol to test when erase_screen is FALSE intstead of TRUE. * --- 1,9 ----- /* $Header: term.h,v 4.3.2.5 90/11/22 13:48:09 sob Exp $ * * $Log: term.h,v $ + * Revision 4.3.2.5 90/11/22 13:48:09 sob + * Backed out change in Patch 48. + * * Revision 4.3.2.4 90/11/05 23:54:49 sob * changed maybe_eol to test when erase_screen is FALSE intstead of TRUE. * *************** *** 35,42 #define input_pending() (nextin!=nextout || (ioctl(0, FIONREAD, &iocount),(int)iocount)) #else #define input_pending() bizarre ! #endif lint ! #else FIONREAD #ifdef RDCHK #define input_pending() (rdchk(0) > 0) /* boolean only */ #else /* RDCHK */ --- 38,45 ----- #define input_pending() (nextin!=nextout || (ioctl(0, FIONREAD, &iocount),(int)iocount)) #else #define input_pending() bizarre ! #endif /* lint */ ! #else /* FIONREAD */ #ifdef RDCHK #define input_pending() (rdchk(0) > 0) /* boolean only */ #else /* RDCHK */ *************** *** 46,52 #define input_pending() (nextin!=nextout || circfill()) #else #define input_pending() bizarre ! #endif lint #endif /* RDCHK */ #endif FIONREAD #else PENDING --- 49,55 ----- #define input_pending() (nextin!=nextout || circfill()) #else #define input_pending() bizarre ! #endif /* lint */ #endif /* RDCHK */ #endif /* FIONREAD */ #else /* PENDING */ *************** *** 48,55 #define input_pending() bizarre #endif lint #endif /* RDCHK */ ! #endif FIONREAD ! #else PENDING #ifndef lint #define input_pending() (nextin!=nextout) #else --- 51,58 ----- #define input_pending() bizarre #endif /* lint */ #endif /* RDCHK */ ! #endif /* FIONREAD */ ! #else /* PENDING */ #ifndef lint #define input_pending() (nextin!=nextout) #else *************** *** 54,62 #define input_pending() (nextin!=nextout) #else #define input_pending() bizarre ! #endif lint ! #endif PENDING ! #else PUSHBACK #ifdef PENDING #ifdef FIONREAD /* must have FIONREAD or O_NDELAY for input_pending() */ #define read_tty(addr,size) read(0,addr,size) --- 57,65 ----- #define input_pending() (nextin!=nextout) #else #define input_pending() bizarre ! #endif /* lint */ ! #endif /* PENDING */ ! #else /* PUSHBACK */ #ifdef PENDING #ifdef FIONREAD /* must have FIONREAD or O_NDELAY for input_pending() */ #define read_tty(addr,size) read(0,addr,size) *************** *** 64,70 #define input_pending() (ioctl(0, FIONREAD, &iocount),(int)iocount) #else #define input_pending() bizarre ! #endif lint EXT long iocount INIT(0); #else FIONREAD --- 67,73 ----- #define input_pending() (ioctl(0, FIONREAD, &iocount),(int)iocount) #else #define input_pending() bizarre ! #endif /* lint */ EXT long iocount INIT(0); #else /* FIONREAD */ *************** *** 67,73 #endif lint EXT long iocount INIT(0); ! #else FIONREAD #ifdef RDCHK #define input_pending() (rdchk(0) > 0) /* boolean only */ --- 70,76 ----- #endif /* lint */ EXT long iocount INIT(0); ! #else /* FIONREAD */ #ifdef RDCHK #define input_pending() (rdchk(0) > 0) /* boolean only */ *************** *** 80,86 #define input_pending() (is_input || (is_input=read(devtty,&pending_ch,1))) #else #define input_pending() bizarre ! #endif lint #endif /* RDCHK */ #endif FIONREAD #else PENDING --- 83,89 ----- #define input_pending() (is_input || (is_input=read(devtty,&pending_ch,1))) #else #define input_pending() bizarre ! #endif /* lint */ #endif /* RDCHK */ #endif /* FIONREAD */ #else /* PENDING */ *************** *** 82,89 #define input_pending() bizarre #endif lint #endif /* RDCHK */ ! #endif FIONREAD ! #else PENDING #define read_tty(addr,size) read(0,addr,size) #define input_pending() (FALSE) #endif PENDING --- 85,92 ----- #define input_pending() bizarre #endif /* lint */ #endif /* RDCHK */ ! #endif /* FIONREAD */ ! #else /* PENDING */ #define read_tty(addr,size) read(0,addr,size) #define input_pending() (FALSE) #endif /* PENDING */ *************** *** 86,93 #else PENDING #define read_tty(addr,size) read(0,addr,size) #define input_pending() (FALSE) ! #endif PENDING ! #endif PUSHBACK /* stuff wanted by terminal mode diddling routines */ --- 89,96 ----- #else /* PENDING */ #define read_tty(addr,size) read(0,addr,size) #define input_pending() (FALSE) ! #endif /* PENDING */ ! #endif /* PUSHBACK */ /* stuff wanted by terminal mode diddling routines */ *************** *** 132,138 EXT int lflusho INIT(LFLUSHO); #else EXT long lflusho INIT(LFLUSHO); ! #endif lint #define unflush_output() (ioctl(_tty_ch,TIOCLBIC,&lflusho)) #else #define unflush_output() --- 135,141 ----- EXT int lflusho INIT(LFLUSHO); #else EXT long lflusho INIT(LFLUSHO); ! #endif /* lint */ #define unflush_output() (ioctl(_tty_ch,TIOCLBIC,&lflusho)) #else #define unflush_output() *************** *** 136,143 #define unflush_output() (ioctl(_tty_ch,TIOCLBIC,&lflusho)) #else #define unflush_output() ! #endif LFLUSHO ! #endif TERMIO #ifdef TIOCSTI #ifdef lint --- 139,146 ----- #define unflush_output() (ioctl(_tty_ch,TIOCLBIC,&lflusho)) #else #define unflush_output() ! #endif /* LFLUSHO */ ! #endif /* TERMIO */ #ifdef TIOCSTI #ifdef lint *************** *** 144,150 #define forceme(c) ioctl(_tty_ch,TIOCSTI,Null(long*)) /* ghad! */ #else #define forceme(c) ioctl(_tty_ch,TIOCSTI,c) /* pass character in " " */ ! #endif lint #else #define forceme(c) #endif --- 147,153 ----- #define forceme(c) ioctl(_tty_ch,TIOCSTI,Null(long*)) /* ghad! */ #else #define forceme(c) ioctl(_tty_ch,TIOCSTI,c) /* pass character in " " */ ! #endif /* lint */ #else #define forceme(c) #endif *************** *** 167,173 EXT char *CM INIT(Nullch); /* cursor motion */ EXT char *HO INIT(Nullch); /* home cursor */ EXT char *CD INIT(Nullch); /* clear to end of display */ ! #endif CLEAREOL EXT char *SO INIT(Nullch); /* begin standout mode */ EXT char *SE INIT(Nullch); /* end standout mode */ EXT int SG INIT(0); /* blanks left by SO and SE */ --- 170,176 ----- EXT char *CM INIT(Nullch); /* cursor motion */ EXT char *HO INIT(Nullch); /* home cursor */ EXT char *CD INIT(Nullch); /* clear to end of display */ ! #endif /* CLEAREOL */ EXT char *SO INIT(Nullch); /* begin standout mode */ EXT char *SE INIT(Nullch); /* end standout mode */ EXT int SG INIT(0); /* blanks left by SO and SE */ *************** *** 191,197 #ifdef CLEAREOL #define clear_rest() tputs(CD,LINES,putchr) FLUSH #define maybe_eol() if(!erase_screen&&can_home_clear)tputs(CE,1,putchr) FLUSH ! #endif CLEAREOL #define underline() tputs(US,1,putchr) FLUSH #define un_underline() tputs(UE,1,putchr) FLUSH #define underchar() tputs(UC,0,putchr) FLUSH --- 194,200 ----- #ifdef CLEAREOL #define clear_rest() tputs(CD,LINES,putchr) FLUSH #define maybe_eol() if(!erase_screen&&can_home_clear)tputs(CE,1,putchr) FLUSH ! #endif /* CLEAREOL */ #define underline() tputs(US,1,putchr) FLUSH #define un_underline() tputs(UE,1,putchr) FLUSH #define underchar() tputs(UC,0,putchr) FLUSH *************** *** 237,243 void reprint(); #ifdef CLEAREOL void home_cursor(); ! #endif CLEAREOL #ifdef SIGWINCH int winch_catcher(); #endif /* SIGWINCH */ --- 240,246 ----- void reprint(); #ifdef CLEAREOL void home_cursor(); ! #endif #ifdef SIGWINCH int winch_catcher(); #endif /* SIGWINCH */ *** patchlevel Thu Nov 22 22:49:27 1990 --- ../new/patchlevel Fri Nov 23 09:38:31 1990 *************** *** 1,2 ! Patch #: 48 --- 1,2 ----- ! Patch #: 49 -- Stan internet: sob@bcm.tmc.edu Director, Networking Olan uucp: {rutgers,mailrus}!bcm!sob and Systems Support Barber Opinions expressed are only mine. Baylor College of Medicine