7 * American Heritage Dictionary (encrypted)
10 static Rune intab[256] = {
23 Run, Openper, Openat, Closeat
27 ahdprintentry(Entry e, int cmd)
44 for(p=e.start; p<e.end; p++){
45 c = intab[(*p ^ (addr++>>1))&0xff];
75 else if(t < &tag[sizeof tag-1])
84 if(strcmp("EH", tag) == 0)
88 outprint("%%@%s@%%", tag);
93 if(t < &tag[sizeof tag-1])
95 if(t < &tag[sizeof tag-1])
104 breaklen = obreaklen;
108 ahdnextoff(long fromoff)
110 static char *patterns[] = { "%@NL@%", "%@2@%", 0 };
111 int c, k = 0, state = 0;
112 char *pat = patterns[0];
115 if(Bseek(bdict, fromoff, 0) < 0)
117 while((c = Bgetc(bdict)) >= 0){
118 c ^= (fromoff++>>1)&0xff;
125 if(pat = patterns[++k]){ /* assign = */
138 Bprint(bout, "No pronunciations.\n");