1*48299Sbostic /*- 2*48299Sbostic * %sccs.include.proprietary.c% 3*48299Sbostic */ 4*48299Sbostic 512301Stut #ifndef lint 6*48299Sbostic static char sccsid[] = "@(#)mkey3.c 4.3 (Berkeley) 04/18/91"; 7*48299Sbostic #endif /* not lint */ 812301Stut 912301Stut #include <stdio.h> 1037895Sbostic #include "pathnames.h" 1137895Sbostic 1212301Stut #define COMNUM 500 1312301Stut #define COMTSIZE 997 1412301Stut 1537895Sbostic char *comname = _PATH_EIGN; 1612301Stut static int cgate = 0; 1712301Stut extern char *comname; 1812301Stut int comcount = 100; 1912301Stut static char cbuf[COMNUM*9]; 2012301Stut static char *cwds[COMTSIZE]; 2112301Stut static char *cbp; 2212301Stut common(s)2312301Stutcommon (s) 2412301Stut char *s; 2512301Stut { 2612301Stut if (cgate==0) cominit(); 2712301Stut return (c_look(s, 1)); 2812301Stut } 2912301Stut cominit()3012301Stutcominit() 3112301Stut { 3212301Stut int i; 3312301Stut FILE *f; 3412301Stut cgate=1; 3512301Stut f = fopen(comname, "r"); 3612301Stut if (f==NULL) return; 3712301Stut cbp=cbuf; 3812301Stut for(i=0; i<comcount; i++) 3912301Stut { 4012301Stut if (fgets(cbp, 15, f)==NULL) 4112301Stut break; 4212301Stut trimnl(cbp); 4312301Stut c_look (cbp, 0); 4412301Stut while (*cbp++); 4512301Stut } 4612301Stut fclose(f); 4712301Stut } 4812301Stut c_look(s,fl)4912301Stutc_look (s, fl) 5012301Stut char *s; 5112301Stut { 5212301Stut int h; 5312301Stut h = hash(s) % (COMTSIZE); 5412301Stut while (cwds[h] != 0) 5512301Stut { 5612301Stut if (strcmp(s, cwds[h])==0) 5712301Stut return(1); 5812301Stut h = (h+1) % (COMTSIZE); 5912301Stut } 6012301Stut if (fl==0) 6112301Stut cwds[h] = s; 6212301Stut return(0); 6312301Stut } 64