BSD 4 release
[unix-history] / usr / src / cmd / refer / mkey3.c
CommitLineData
aaa7ced1
BJ
1# include "stdio.h"
2char *comname = "/usr/lib/eign";
3static int cgate = 0;
4extern char *comname;
5# define COMNUM 500
6# define COMTSIZE 997
7int comcount = 100;
8static char cbuf[COMNUM*9];
9static char *cwds[COMTSIZE];
10static char *cbp;
11
12common (s)
13 char *s;
14{
15if (cgate==0) cominit();
16return (c_look(s, 1));
17}
18cominit()
19{
20int i;
21FILE *f;
22cgate=1;
23f = fopen(comname, "r");
24if (f==NULL) return;
25cbp=cbuf;
26for(i=0; i<comcount; i++)
27 {
28 if (fgets(cbp, 15, f)==NULL)
29 break;
30 trimnl(cbp);
31 c_look (cbp, 0);
32 while (*cbp++);
33 }
34fclose(f);
35}
36c_look (s, fl)
37 char *s;
38{
39int h;
40h = hash(s) % (COMTSIZE);
41while (cwds[h] != 0)
42 {
43 if (strcmp(s, cwds[h])==0)
44 return(1);
45 h = (h+1) % (COMTSIZE);
46 }
47if (fl==0)
48 cwds[h] = s;
49return(0);
50}