home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #
- #include "def.h"
- #include "4.def.h"
- extern int linechars;
- extern int rdfree(), comfree(), labfree(), contfree();
- extern int rdstand(), comstand(), labstand(), contstand();
- extern int (*rline[])();
- extern int (*comment[])();
- extern int (*getlabel[])();
- extern int (*chkcont[])();
- null(c)
- char c;
- {return;}
-
-
-
- comprint()
- {
- int c, blank, first,count;
- blank = 1;
- first = 1;
- count = 0;
- while ((c = (*comment[inputform])(0) ) || blankline() )
- {
- ++count;
- if (c)
- {
- (*comment[inputform])(1); /* move head past comment signifier */
- blank = blankline();
- /* if (first && !blank)
- OUTSTR("#\n");*/
- prline("#");
- first = 0;
- }
- else
- (*rline[inputform])(null);
- }
- /* if (!blank)
- OUTSTR("#\n"); */
- return(count);
- }
-
-
-
- prcode(linecount,tab)
- int linecount, tab;
- {
- int someout;
- someout = FALSE;
- while (linecount)
- {
- if ( (*comment[inputform])(0) )
- {
- linecount -= comprint();
- someout = TRUE;
- continue;
- }
- else if (blankline() )
- (*rline[inputform])(null);
- else if ((*chkcont[inputform])() )
- {
- TABOVER(tab);
- prline("&");
- someout = TRUE;
- }
- else
- {if (someout) TABOVER(tab);
- (*getlabel[inputform])(null);
- prline("");
- someout=TRUE;
- }
- --linecount;
- }
- }
-
-
- charout(c)
- char c;
- {
- putc(c,outfd);
- }
-
-
-
- prline(str)
- char *str;
- {
- fprintf(outfd,"%s",str);
- (*rline[inputform]) (charout);
- putc('\n',outfd);
- }
-
-
- input2()
- {
- static int c;
- c = inchar();
- if (c == '\n')
- linechars = 0;
- else
- ++linechars;
- return(c);
- }
-
-
- unput2(c)
- int c;
- {
- unchar(c);
- --linechars;
- return(c);
- }
-