Various fixes to DItroff tbl
Ed Gould
ed at mtxinu.UUCP
Sat Jan 12 05:26:32 AEST 1985
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
More information about the Net.bugs.usg
mailing list