1: #include "spell.h"
2: /* add entries to hash table for use by spell
3: preexisting hash table is first argument
4: words to be added are standard input
5: if no hash table is given, create one from scratch
6: */
7:
8: main(argc,argv)
9: char **argv;
10: {
11: register i, j;
12: long h;
13: register long *lp;
14: char word[NW];
15: register char *wp;
16:
17: if(!prime(argc,argv)) {
18: fprintf(stderr,
19: "spellin: cannot initialize hash table\n");
20: exit(1);
21: }
22: while (fgets(word, sizeof(word), stdin)) {
23: for (i=0; i<NP; i++) {
24: for (wp = word, h = 0, lp = pow2[i];
25: (j = *wp) != '\0'; ++wp, ++lp)
26: h += j * *lp;
27: h %= p[i];
28: set(h);
29: }
30: }
31: #ifdef gcos
32: freopen((char *)NULL, "wi", stdout);
33: #endif
34: if (fwrite((char *)tab, sizeof(*tab), TABSIZE, stdout) != TABSIZE) {
35: fprintf(stderr,
36: "spellin: trouble writing hash table\n");
37: exit(1);
38: }
39: return(0);
40: }
Defined functions
main
defined in line
8;
never used