|
|
1.1 root 1: #ifndef lint
2: static char *sccsid = "@(#)mkey3.c 4.2 (Berkeley) 5/11/89";
3: #endif
4:
5: #include <stdio.h>
6: #include "pathnames.h"
7:
8: #define COMNUM 500
9: #define COMTSIZE 997
10:
11: char *comname = _PATH_EIGN;
12: static int cgate = 0;
13: extern char *comname;
14: int comcount = 100;
15: static char cbuf[COMNUM*9];
16: static char *cwds[COMTSIZE];
17: static char *cbp;
18:
19: common (s)
20: char *s;
21: {
22: if (cgate==0) cominit();
23: return (c_look(s, 1));
24: }
25:
26: cominit()
27: {
28: int i;
29: FILE *f;
30: cgate=1;
31: f = fopen(comname, "r");
32: if (f==NULL) return;
33: cbp=cbuf;
34: for(i=0; i<comcount; i++)
35: {
36: if (fgets(cbp, 15, f)==NULL)
37: break;
38: trimnl(cbp);
39: c_look (cbp, 0);
40: while (*cbp++);
41: }
42: fclose(f);
43: }
44:
45: c_look (s, fl)
46: char *s;
47: {
48: int h;
49: h = hash(s) % (COMTSIZE);
50: while (cwds[h] != 0)
51: {
52: if (strcmp(s, cwds[h])==0)
53: return(1);
54: h = (h+1) % (COMTSIZE);
55: }
56: if (fl==0)
57: cwds[h] = s;
58: return(0);
59: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.