|
|
1.1 ! root 1: #ifndef lint ! 2: static char *sccsid = "@(#)annobib.c 4.1 (Berkeley) 5/6/83"; ! 3: #endif ! 4: ! 5: /* ! 6: * This program has been replaced by "refer -B" (bibliography mode), ! 7: * but is included here for backward compatiblity. ! 8: */ ! 9: ! 10: #include <stdio.h> ! 11: ! 12: int noanno = 0; /* option to suppress .AP from %X field */ ! 13: ! 14: main(argc, argv) /* format (annotated) bibliography for n/troff */ ! 15: int argc; ! 16: char *argv[]; ! 17: { ! 18: FILE *fp, *fopen(); ! 19: ! 20: if (argv[1][0] == '-' && argv[1][1] == 'x') ! 21: { ! 22: noanno = 1; ! 23: argv++; argc--; ! 24: } ! 25: if (argc == 1) ! 26: { ! 27: annobib(stdin); ! 28: exit(0); ! 29: } ! 30: while (--argc > 0) ! 31: { ! 32: if ((fp = fopen(*++argv, "r")) == NULL) ! 33: { ! 34: perror(*argv); ! 35: exit(1); ! 36: } ! 37: annobib(fp); ! 38: fclose(fp); ! 39: } ! 40: exit(0); ! 41: } ! 42: ! 43: annobib(fp) /* prepare bibliography for refer bare mode */ ! 44: FILE *fp; ! 45: { ! 46: char line[BUFSIZ]; ! 47: int begun, ended; ! 48: ! 49: begun = 0; ! 50: ended = 1; ! 51: while (fgets(line, BUFSIZ, fp)) ! 52: { ! 53: if (line[0] == '%' && line[1] == 'X' && !noanno) ! 54: { ! 55: zap_x(line); ! 56: printf(".]\n.AP\n%s", line); ! 57: ended = 1; ! 58: begun = 0; ! 59: } ! 60: else if (line[0] == '%') ! 61: { ! 62: if (!begun) ! 63: { ! 64: puts(".["); ! 65: begun = 1; ! 66: ended = 0; ! 67: } ! 68: fputs(line, stdout); ! 69: } ! 70: else if (line[0] == '\n') ! 71: { ! 72: if (!ended) ! 73: { ! 74: puts(".]"); ! 75: ended = 1; ! 76: begun = 0; ! 77: } ! 78: } ! 79: else ! 80: fputs(line, stdout); ! 81: } ! 82: if (!ended) ! 83: puts(".]"); ! 84: } ! 85: ! 86: zap_x(line) /* take %X annotation flag out of line */ ! 87: char line[]; ! 88: { ! 89: register int i, j; ! 90: ! 91: for (i = 3, j = 0; line[i] != NULL; i++, j++) ! 92: line[j] = line[i]; ! 93: line[j] = NULL; ! 94: return; ! 95: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.