home *** CD-ROM | disk | FTP | other *** search
- #include "spell.h"
-
- main(argc, argv)
- char **argv;
- {
- register i, j;
- long h;
- register long *lp;
- char word[NW];
- int dflag = 0;
- int indict;
- register char *wp;
-
- if (argc>1 && argv[1][0]=='-' && argv[1][1]=='d') {
- dflag = 1;
- argc--;
- argv++;
- }
- if(argc<=1) {
- fprintf(stderr,"spellout: arg count\n");
- exit(1);
- }
- if(!prime(argc,argv)) {
- fprintf(stderr,
- "spellout: cannot initialize hash table\n");
- exit(1);
- }
- while (fgets(word, sizeof(word), stdin)) {
- indict = 1;
- for (i=0; i<NP; i++) {
- for (wp = word, h = 0, lp = pow2[i];
- (j = *wp) != '\0'; ++wp, ++lp)
- h += j * *lp;
- h %= p[i];
- if (get(h)==0) {
- indict = 0;
- break;
- }
- }
- if (dflag == indict)
- fputs(word, stdout);
- }
- }
-