text: /* UNIX V7 source code: see /COPYRIGHT or www.tuhs.org for details. */
  
  #include "spell.h"
  /* add entries to hash table for use by spell
     preexisting hash table is first argument
     words to be added are standard input
     if no hash table is given, create one from scratch
  */
  
  main(argc,argv)
  char **argv;
  {
  	register i, j;
  	long h;
  	register long *lp;
  	char word[NW];
  	register char *wp;
  
  	if(!prime(argc,argv)) {
  		fprintf(stderr,
  		    "spellin: cannot initialize hash table\n");
  		exit(1);
  	}
  	while (fgets(word, sizeof(word), stdin)) {
  		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];
  			set(h);
  		}
  	}
  #ifdef gcos
  	freopen((char *)NULL, "wi", stdout);
  #endif
  	if (fwrite((char *)tab, sizeof(*tab), TABSIZE, stdout) != TABSIZE) {
  		fprintf(stderr,
  		    "spellin: trouble writing hash table\n");
  		exit(1);
  	}
  	return(0);
  }
  