#-h- alstsym 67 asc 29-oct-80 22:03:22 tools define(PAGE_LENGTH,60) define(FORMFEED,12) define(PAGE_WIDTH,5) #-h- alist.r 1840 asc 29-oct-80 22:03:23 tools #-h- main 1437 asc 29-oct-80 22:01:51 tools include alstsym subroutine main integer i, int, page, lcnt, j, junk integer getarg, open, getlin, getwrd, equal character file(FILENAMESIZE), lin(MAXLINE), wrd(MAXLINE) string hdrstr "#-h-" string lipsis " ....." string biglip " Page" for (i=1; getarg(i, file, FILENAMESIZE) != EOF; i=i+1) { int = open(file, READ) if (int == ERR) call cant(file) if (i > 1) call putch(FORMFEED, STDOUT) call mkpath(file, wrd) call putlin(wrd, STDOUT) call putch(NEWLINE, STDOUT) page = 0 lcnt = 0 while (getlin(lin, int) != EOF) { j = 1 junk = getwrd(lin, j, wrd) if (equal(wrd, hdrstr) == YES) { page = page + 1 call skipbl(lin, j) call puthdr(lin(j), lipsis, page) lcnt = 1 } else if (lcnt >= PAGE_LENGTH) { page = page + 1 lcnt = 1 } else lcnt = lcnt + 1 } call close(int) int = open(file, READ) page = 0 lcnt = 0 while (getlin(lin, int) != EOF) { j = 1 junk = getwrd(lin, j, wrd) if (equal(wrd, hdrstr) == YES) { page = page + 1 call putch(FORMFEED, STDOUT) call puthdr(lin, biglip, page) lcnt = 1 } else if (lcnt >= PAGE_LENGTH) { page = page + 1 call putch(FORMFEED, STDOUT) lcnt = 1 call putlin(lin, STDOUT) } else { lcnt = lcnt + 1 call putlin(lin, STDOUT) } } call close(int) } return end #-h- puthdr 287 asc 29-oct-80 22:01:51 tools subroutine puthdr(first, middle, page) character first(ARB), middle(ARB) integer page, i for (i=1; first(i) != NEWLINE & first(i) != EOS; i=i+1) call putch(first(i), STDOUT) call putlin(middle, STDOUT) call putdec(page, PAGE_WIDTH) call putch(NEWLINE, STDOUT) return end