home *** CD-ROM | disk | FTP | other *** search
- # include "stdio.h"
- char *comname "/usr/lib/eign";
- static int cgate 0;
- extern char *comname;
- # define COMNUM 500
- # define COMTSIZE 997
- int comcount 100;
- static char cbuf[COMNUM*9];
- static char *cwds[COMTSIZE];
- static char *cbp;
-
- common (s)
- char *s;
- {
- if (cgate==0) cominit();
- return (c_look(s, 1));
- }
- cominit()
- {
- int i;
- FILE *f;
- cgate=1;
- f = fopen(comname, "r");
- if (f==NULL) return;
- cbp=cbuf;
- for(i=0; i<comcount; i++)
- {
- if (fgets(cbp, 15, f)==NULL)
- break;
- trimnl(cbp);
- c_look (cbp, 0);
- while (*cbp++);
- }
- fclose(f);
- }
- c_look (s, fl)
- char *s;
- {
- int h;
- h = hash(s) % (COMTSIZE);
- while (cwds[h] != 0)
- {
- if (strcmp(s, cwds[h])==0)
- return(1);
- h = (h+1) % (COMTSIZE);
- }
- if (fl==0)
- cwds[h] = s;
- return(0);
- }
-