Bell 32V development
[unix-history] / usr / src / cmd / spell / spellout.c
CommitLineData
516951ee
TL
1#include "spell.h"
2
3main(argc, argv)
4char **argv;
5{
6 register i, j;
7 long h;
8 register long *lp;
9 char word[NW];
10 int dflag = 0;
11 int indict;
12 register char *wp;
13
14 if (argc>1 && argv[1][0]=='-' && argv[1][1]=='d') {
15 dflag = 1;
16 argc--;
17 argv++;
18 }
19 if(argc<=1) {
20 fprintf(stderr,"spellout: arg count\n");
21 exit(1);
22 }
23 if(!prime(argc,argv)) {
24 fprintf(stderr,
25 "spellout: cannot initialize hash table\n");
26 exit(1);
27 }
28 while (fgets(word, sizeof(word), stdin)) {
29 indict = 1;
30 for (i=0; i<NP; i++) {
31 for (wp = word, h = 0, lp = pow2[i];
32 (j = *wp) != '\0'; ++wp, ++lp)
33 h += j * *lp;
34 h %= p[i];
35 if (get(h)==0) {
36 indict = 0;
37 break;
38 }
39 }
40 if (dflag == indict)
41 fputs(word, stdout);
42 }
43}