[mod.sources] v06i059: Changes to calls, compress, ditrev, getpaths, nbatcher

sources-request@mirror.UUCP (07/16/86)

Mod.sources: Volume 6, Issue 59
Submitted by: rs@mirror.UUCP (Rich $alz)
Archive-name: Misc.Patches1

This article contains suggestions for enhancements, bugfixes, and revised
documentation for calls and getpaths, compress, and nbatcher, respectively.
I am packaging them up together and sound them out as one piece because
the changes are small and straightforward.  Any comments for or against
this process?  I will not do it often -- generally, I redirect questions
and comments to the original authors (some people apparently have trouble
understanding what the Submitted_by line means).
		--r$

#!/bin/sh
# This is a shell archive.  Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
# Wrapped by rs@mirror.UUCP on Wed Jul 16 11:40:31 EDT 1986
#
# Contents:  calls.mods compress.mods ditrev.mods getpaths.mods
#	nbatcher.page
 
echo x - calls.mods
sed 's/^XX//' > "calls.mods" <<'@//E*O*F calls.mods//'
XXFrom: wjh12!pixel!pixutl!chris
XXSubject: Re: v06i003:  new calls; shows function call flow (calls.new)
XXI would like to suggest a minor change to your 'calls' program. It does
XXnot accept stdin unless you specify '-' as an argument. This can easily
XXbe fixed by adding an extern variable:
XX	int anyproc;

XXthen, inside of process(), do:
XX	anyproc++;

XXand in main(), after the  'while (EOF != getarg (argc, argv)) {'  loop, add:
XX	if (anyproc == 0)
XX		dostdin();

XXChris
@//E*O*F calls.mods//
chmod u=rw,g=rw,o=rw calls.mods
 
echo x - compress.mods
sed 's/^XX//' > "compress.mods" <<'@//E*O*F compress.mods//'

XXFrom: seismo!elsie!ado
XXSubject: Re: v06i023:  Xenix patches to compress4.0 (compress.xenix)

XX(Forgiveness, gentle moderator:  my mail to the original poster was bounced.)

XX+ The XENIX_16 code for compress did not work.  The problem was:
XX+	a) a problem with the large model code optimizer.
XX+	b) the constant (1<<16) as assigned to maxcode evaluates
XX+	   to zero on a 16 bit machine!
XX+ After fixing problem b, I removed the XENIX_16 code and instead declared
XX+ the large arrays as 'huge'.
XX+ . . .
XX+ XX< #ifndef M_XENIX
XX+ XX< #  define huge		/* needed only for 16-bit machines */
XX+ XX< #endif

XXThe Xenix 3.0 C compiler *does* predefine M_XENIX; it *does not* allow arrays
XXto be declared "huge."  If sixteen-bit compress is to be run on Xenix 3.0
XXsystems, the existing "XENIX_16" code should be (fixed and) kept; if not,
XX"M_XENIX" above should be changed to some symbol that's predefined only by
XXcompilers that support "huge" arrays.
XX--
XXXenix is a Microsoft trademark, right?
XX--
XX	UUCP: ..decvax!seismo!elsie!ado		ARPA: elsie!ado@seismo.ARPA
XX	DEC, VAX, Elsie & Ado are Digital, Borden & Shakespeare trademarks.
@//E*O*F compress.mods//
chmod u=rw,g=rw,o=rw compress.mods
 
echo x - ditrev.mods
sed 's/^XX//' > "ditrev.mods" <<'@//E*O*F ditrev.mods//'
XXFrom: cca!caip!uw-beaver!uw-wally!schwartz (Michael F. Schwartz)
XXSubject: Re: v06i042:  Page reverser for ditroff (ditrev)

XXI noticed the following bug in the comments for my ditrev program:

XX36c36
XX< 				postscript page.  I empirically determined that
XX---
XX> 				ditroff page.  I empirically determined that

XXThis is pretty minor, but might as well be fixed for the archives.
XX - Mike Schwartz
XX   University of Washington Computer Science Department
XX   ihnp4!uw-beaver!schwartz  (USENET)
XX   schwartz@wally.arpa  (ARPANET)
XX   schwartz%wally.arpa@csnet-relay.arpa  (CSNET)
@//E*O*F ditrev.mods//
chmod u=rw,g=rw,o=rw ditrev.mods
 
echo x - getpaths.mods
sed 's/^XX//' > "getpaths.mods" <<'@//E*O*F getpaths.mods//'
XXFrom: ihnp4!icom!andy (Andrew H. Marrinson at Icom Systems, Inc.)
XXSubject: Re: getpaths -- oscantree.c NG on sysV
XXCc: jbuck@epimass

XXThe scan_tree function supplied for system V and V7 doesn't work on my
XXSV.2 Vax.  Fortunately, there is an easy solution; I just added the line:
XX	#define scan_tree(XP,XF) ftw(XP,XF,10)
XXto the front of my getpath.c, changed the makefile accordingly, and voila.
XXNow on version 7 you've got a bug to fix.

XX---
XXAndrew H. Marrinson
XXICOM Systems, Inc.
XXArlington Heights, IL 60005
XXandy@icom.UUCP {ihnp4!icom!andy}
@//E*O*F getpaths.mods//
chmod u=rw,g=rw,o=rw getpaths.mods
 
echo x - nbatcher.page
sed 's/^XX//' > "nbatcher.page" <<'@//E*O*F nbatcher.page//'
XXFrom: cca!caip!cbmvax!bpa!espo (Bob Esposito)
XXSubject: Revised manual page for Nbatcher

XXI found 3 small errors in nbatcher.1  I sending you the corrected manual page.

XX=============================================
XX.TH NBATCHER 1 LOCAL
XX.SH NAME
XXnbatcher  \- new batching system for news
XX.SH SYNOPSIS
XX.B nbatcher
XX.IR "(run out of " cron ".)"
XX.SH DESCRIPTION
XX.PP
XX.I Nbatcher
XXis a program designed to send batched USENET data out
XXin an orderly and controlled fashion, while providing alternative
XXtransmission methods.  As such, it is a replacement for
XX.I csendbatch
XXand the like, which typically require many entries in
XX.IR crontab .
XX.I Nbatcher
XXis intended to be run hourly out of
XX.I cron
XXas the USENET administrator (NEWSID).
XX.PP
XX.I Nbatcher
XXscans the file
XX.I nbatcher.ctl
XXin the NEWSLIB directory to determine if work should be spooled
XXfor a system.  In the control file, lines starting with asterisks
XXare ignored; data lines are comprised of five colon\-separated
XXfields:
XX.RS
XXsite:hour:bits:queue_size:command
XX.RE
XX.TP
XXThe ``site'' field is the USENET neighbor; it is the same as the site in the
XXnews
XX.I sys
XXfile.
XX.TP
XXThe ``hours'' field is patterned after
XX.IR cron's.
XXIf the hour is ``off,'' no work is spooled for the site.  An hour of
XX``*'' matches every hour.  It is also possible to specify specific
XXhours, (e.g., 8, 09, or 22), a comma-separated list (e.g., 8,09,22),
XXor a twenty\-four range, like 10-\15 for 10am through 3pm and 22\-4,
XXfor 10pm through 4am.
XX.TP
XXThe ``bits'' field specifies the number of bits to use in compression;
XXit should be a number between nine and 16, inclusive, or null.  If
XXa number is specified, it is passed on to the
XX.I compress
XXprogram via the ``\-b'' flag.
XX.TP
XXThe ``queue_size'' field specifies the maximum number of bytes allowed
XXin the UUCP queue for this site.  The default is 100K.
XXThe UUCP queue size is determined by lookin in the
XX.IR /usr/spool/uucp/ site
XXdirectory; if it doesn't exist, the check is bypassed.  If there is
XXdata in the UUCP queue,
XX.I nbatcher
XXwill only queue up as many USENET transfers as will fit within the limit
XXspecified by the ``queue_size'' field.
XX.TP
XXThe ``command'' field is used to specific the UUCP command that should
XXbe used to queue the job; the default is ``uux \- \-r site!rnews'';
XXnote the absence of the ``\-z'' flag.
XX.PP
XXTo set up a USENET neighbor to be controlled by nbatcher, the news
XX.I sys
XXentry for the neighbor must be modified to specify the ``F'' flag,
XXand the file used to contain the article names must be
XX.RI BATCHDIR/sysname ,
XXwhere BATCHDIR is set in the Makefile as distributed.
XX.SH "FILES"
XXNEWSLIB/nbatcher.log
XX.br
XX.in +1i
XXa logfile of failures, postponements, etc.
XX.in -1i
XX.SH BUGS
XXParsing of the control file is fairly robust, but not perfect.


@//E*O*F nbatcher.page//
chmod u=rw,g=rw,o=rw nbatcher.page
 
echo Inspecting for damage in transit...
temp=/tmp/sharin$$; dtemp=/tmp/sharout$$
trap "rm -f $temp $dtemp; exit" 0 1 2 3 15
cat > $temp <<\!!!
      15      74     460 calls.mods
      27     182    1107 compress.mods
      16      69     569 ditrev.mods
      15      83     540 getpaths.mods
      86     466    2746 nbatcher.page
     159     874    5422 total
!!!
wc  calls.mods compress.mods ditrev.mods getpaths.mods nbatcher.page | sed 's=[^ ]*/==' | diff -b $temp - >$dtemp
if test -s $dtemp
then echo "Ouch [diff of wc output]:" ; cat $dtemp
else echo "No problems found."
fi
exit 0