🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Ed Gould Fri, 11 Jan 1985 19:26
Various fixes to DItroff tbl
#352
Author: Ed Gould
Date: Fri, 11 Jan 1985 19:26
209 lines
4905 bytes
Here are various fixes we've made to the tbl that comes with DItroff;
it's probably the same one that comes with Documenter's Workbench.
Unfortunately, I didn't generate the fixes myself, so I'm not sure
just what is fixed by these changes.  Anyway, I'll describe what I
do know about them.

Many of the changes (aside from adding our own SCCS keywords) are
changing explicit 512 constants to BUFSIZ, so that things are
more efficient on 4.2bsd systems (and perhaps others, too).  This
should never cause any loss of performance.  The change in t4.c
(adding a --) fixes a bug that mangles text in some cases.
The rest, I'm not sure about.

----------  diff -c outputs ------------
*** t1.c	Fri Jan 11 11:11:36 1985
--- t1.c_old	Fri Jan 11 11:12:37 1985
***************
*** 1,9
   /* t1.c: main control and input switching */
- 
- #ifndef	lint
- static	char	sccsid[] = "@(#)t1.c	2.1	84/10/08	mt Xinu";
- #endif
- 
  #
  # include "t..c"
  #include <signal.h>

--- 1,4 -----
   /* t1.c: main control and input switching */
  #
  # include "t..c"
  #include <signal.h>
***************
*** 42,48
  tbl(argc,argv)
  	char *argv[];
  {
! char line[BUFSIZ];
  /* required by GCOS because "stdout" is set by troff preprocessor */
  tabin=stdin; tabout=stdout;
  setinp(argc,argv);

--- 37,43 -----
  tbl(argc,argv)
  	char *argv[];
  {
! char line[512];
  /* required by GCOS because "stdout" is set by troff preprocessor */
  tabin=stdin; tabout=stdout;
  setinp(argc,argv);
***************
*** 109,115
  # ifdef unix
  badsig()
  {
! signal(SIGPIPE, SIG_IGN);
   exit(0);
  }
  # endif

--- 104,110 -----
  # ifdef unix
  badsig()
  {
! signal(SIGPIPE, 1);
   exit(0);
  }
  # endif


*** t4.c	Fri Jan 11 11:11:45 1985
--- t4.c_old	Fri Jan 11 11:12:39 1985
***************
*** 1,9
   /* t4.c: read table specification */
- 
- #ifndef	lint
- static	char	sccsid[] = "@(#)t4.c	2.1	84/10/08	mt Xinu";
- #endif
- 
  # include "t..c"
  int oncol;
  getspec()

--- 1,4 -----
   /* t4.c: read table specification */
  # include "t..c"
  int oncol;
  getspec()
***************
*** 320,326
  cfree(csize);
  cfree(vsize);
  cfree(cll);
! cfree(--sep);
  cfree(used);
  cfree(lused);
  cfree(rused);

--- 315,321 -----
  cfree(csize);
  cfree(vsize);
  cfree(cll);
! cfree(sep);
  cfree(used);
  cfree(lused);
  cfree(rused);


*** tb.c	Fri Jan 11 11:11:48 1985
--- tb.c_old	Fri Jan 11 11:12:41 1985
***************
*** 1,9
   /* tb.c: check which entries exist, also storage allocation */
- 
- #ifndef	lint
- static	char	sccsid[] = "@(#)tb.c	2.1	84/10/08	mt Xinu";
- #endif
- 
  # include "t..c"
  checkuse()
  {

--- 1,4 -----
   /* tb.c: check which entries exist, also storage allocation */
  # include "t..c"
  checkuse()
  {
***************
*** 69,75
  		tpvecs[tpcount] = calloc(MAXCHS,1);
  		}
  	thisvec = tpvecs[tpcount];
! 	if ((thisvec == (char *) 0) || (thisvec == (char *) -1))
  		error("no space for vectors");
  	}
  tp=(int *)thisvec;

--- 64,70 -----
  		tpvecs[tpcount] = calloc(MAXCHS,1);
  		}
  	thisvec = tpvecs[tpcount];
! 	if (thisvec == (char *)0)
  		error("no space for vectors");
  	}
  tp=(int *)thisvec;


*** te.c	Fri Jan 11 11:11:51 1985
--- te.c_old	Fri Jan 11 11:12:44 1985
***************
*** 1,9
   /* te.c: error message control, input line count */
- 
- #ifndef	lint
- static	char	sccsid[] = "@(#)te.c	2.1	84/10/08	mt Xinu";
- #endif
- 
  # include "t..c"
  error(s)
  	char *s;

--- 1,4 -----
   /* te.c: error message control, input line count */
  # include "t..c"
  error(s)
  	char *s;
***************
*** 24,30
  char *p;
  int nbl = 0;
  iline++;
! p=fgets(s,BUFSIZ,tabin);
  while (p==0)
  	{
  	if (swapin()==0)

--- 19,25 -----
  char *p;
  int nbl = 0;
  iline++;
! p=fgets(s,512,tabin);
  while (p==0)
  	{
  	if (swapin()==0)
***************
*** 29,35
  	{
  	if (swapin()==0)
  		return(0);
! 	p = fgets(s,BUFSIZ,tabin);
  	}
  
  while (*s) s++;

--- 24,30 -----
  	{
  	if (swapin()==0)
  		return(0);
! 	p = fgets(s,512,tabin);
  	}
  
  while (*s) s++;
----------  end diffs ------------------

-- 
Ed Gould		    mt Xinu, 739 Allston Way, Berkeley, CA  94710  USA
{ucbvax,decvax}!mtxinu!ed   +1 415 644 0146
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads