#include <stdio.h>

main(argc,argv)
   int argc;
   char *argv[];
 { FILE *p;
   char ch,*malloc(),*buf;
   int i,k,print,punt,bufmax;
   printf("Look V2.2  4-8-1987  %c 1987 by R. Kamps\n\n",169);
   if (*argv[1]=='?')
    { printf("Look <filename> [<buffergrootte>]\n\n");
      printf("Look is een utility die een source file doorzoekt op het gebruik van:\n");
      printf("   libraries\n");
      printf("   fonts    \n");
      printf("   devices  \n");
      printf("   ports    \n");
      printf("   resources\n");
      printf("Verder laat Look alle strings zien die langer zijn als de buffergrootte.\n");
      printf("(Default buffergrootte=10)\n\n\n");
      printf("Dit programma is Public Domain,\n");
      printf("en mag alleen voor niet commerciële doeleinden gecopieerd worden.\n");
      exit(0);
    }
   if (argc<2)
    { printf("Bad arguments\n");
      exit(10);
    }
   if ((p=fopen(argv[1],"r")) == NULL )
    { printf("Error opening file %s\n",argv[1]);
      exit(20);
    }
   printf("%c%c\n",187,187);
   if (argc==2)
    { bufmax=10;
    }
   else
    { bufmax=atoi(argv[2]);
    }
   buf=malloc(bufmax);
   print=0;                /* geen string geprint */
   punt=0;                 /* punt gevonden op positie k-1 in buffer*/
   i=0;                    /* lpb array */
   while (ch=getc(p),feof(p)==0)
    { if (ch>31&&ch<128)   /* Printable character */
       { if (ch==32)
          ch=175;
         if (!print)
          { buf[i++]=ch;
            if (ch=='.')
             { punt=1;
               k=i;
             }
            if ((i==bufmax) ||
                (punt && ((strncmp(buf+k,"library",7)==0) ||
                          (strncmp(buf+k,"font",4)==0) ||
                          (strncmp(buf+k,"device",6)==0) ||
                          (strncmp(buf+k,"port",4)==0) ||
                          (strncmp(buf+k,"resource",8)==0))))
             { buf[i]='\0';
               printf("%s",buf);
               print=1;
               i=0;
             }
          }
         else
          printf("%c",ch);
       }
      else                 /* Unprintable character */
       { i=0;
         if (print)
          { printf("\n");
            print=0;
            punt=0;
         }
       }
    }
   printf("%c%c\n",171,171);
   fclose(p);
 }

