home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Distributions / ucb / spencer_2bsd.tar.gz / 2bsd.tar / src / getNAME.c < prev    next >
C/C++ Source or Header  |  1980-02-17  |  1KB  |  77 lines

  1. /* Copyright (c) 1979 Regents of the University of California */
  2. #include <retrofit.h>
  3. #include <stdio.h>
  4.  
  5. main(argc, argv)
  6.     int argc;
  7.     char *argv[];
  8. {
  9.  
  10.     argc--, argv++;
  11.     while (argc > 0)
  12.         getfrom(*argv++), argc--;
  13.     exit(0);
  14. }
  15.  
  16. getfrom(name)
  17.     char *name;
  18. {
  19.     char headbuf[BUFSIZ];
  20.     char linbuf[BUFSIZ];
  21.     register char *cp;
  22.     int i = 0;
  23.  
  24.     if (freopen(name, "r", stdin) == 0) {
  25.         perror(name);
  26.         exit(1);
  27.     }
  28.     for (;;) {
  29.         if (fgets(headbuf, sizeof headbuf, stdin) == NULL)
  30.             return;
  31.         if (headbuf[0] != '.')
  32.             continue;
  33.         if (headbuf[1] == 'T' && headbuf[2] == 'H')
  34.             break;
  35.         if (headbuf[1] == 't' && headbuf[2] == 'h')
  36.             break;
  37.     }
  38.     for (;;) {
  39.         if (fgets(linbuf, sizeof linbuf, stdin) == NULL)
  40.             return;
  41.         if (linbuf[0] != '.')
  42.             continue;
  43.         if (linbuf[1] == 'S' && linbuf[2] == 'H')
  44.             break;
  45.         if (linbuf[1] == 's' && linbuf[2] == 'h')
  46.             break;
  47.     }
  48.     trimln(headbuf);
  49.     printf("%s\t", headbuf);
  50.     for (;;) {
  51.         if (fgets(linbuf, sizeof linbuf, stdin) == NULL)
  52.             break;
  53.         if (linbuf[0] == '.') {
  54.             if (linbuf[1] == 'S' && linbuf[2] == 'H')
  55.                 break;
  56.             if (linbuf[1] == 's' && linbuf[2] == 'h')
  57.                 break;
  58.         }
  59.         trimln(linbuf);
  60.         if (i != 0)
  61.             printf(" ");
  62.         i++;
  63.         printf("%s", linbuf);
  64.     }
  65.     printf("\n");
  66. }
  67.  
  68. trimln(cp)
  69.     register char *cp;
  70. {
  71.  
  72.     while (*cp)
  73.         cp++;
  74.     if (*--cp == '\n')
  75.         *cp = 0;
  76. }
  77.