File:  [Research Unix] / researchv10no / cmd / refer / mkey1.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:34 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

# include "stdio.h"
extern char *comname; /* "/usr/lib/eign" */
int wholefile = 0;
int keycount = 100;
int labels = 1;
int minlen = 3;
extern int comcount;
char *iglist = "XYZ#";

main (argc,argv)
	char *argv[];
{
/* this program expects as its arguments a list of
   files and generates a set of lines of the form
     filename:byte-add,length (tab) key1 key2 key3
   where the byte addresses give the position within
   the file and the keys are the strings off the lines
   which are alphabetic, first six characters only.
*/

int i;
char *name, qn[200];
char *inlist= 0;

FILE *f, *ff;

while (argc>1 && argv[1][0] == '-')
	{
	switch(argv[1][1])
		{
		case 'c':
			comname = argv[2];
			argv++; argc--;
			break;
		case 'w':
			wholefile = 1;  break;
		case 'f':
			inlist = argv[2];
			argv++; argc--;
			break;
		case 'i':
			iglist = argv[2];
			argv++; argc--;
			break;
		case 'l':
			minlen = atoi(argv[1]+2);
			if (minlen<=0) minlen=3;
			break;
		case 'n': /* number of common words to use */
			comcount = atoi(argv[1]+2);
			break;
		case 'k': /* number  of keys per file max */
			keycount = atoi(argv[1]+2);
			break;
		case 's': /* suppress labels, search only */
			labels = 0;
			break;
		}
	argc--; argv++;
	}
if (inlist)
	{
	ff = fopen(inlist, "r");
	while (fgets(qn, 200, ff))
		{
		trimnl(qn);
		f = fopen (qn, "r");
		if (f!=NULL)
			dofile(f, qn);
		else
			fprintf(stderr, "Can't read %s\n",qn);
		}
	}
else
if (argc<=1)
	dofile(stdin, "");
else
for(i=1; i<argc; i++)
	{
	f = fopen(name=argv[i], "r");
	if (f==NULL)
		err("No file %s",name);
	else
		dofile(f, name);
	}
exit(0);
}

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.