Annotation of 43BSD/usr.bin/refer/mkey3.c, revision 1.1.1.1

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

unix.superglobalmegacorp.com

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