richmon@astrovax.UUCP (Michael Richmond) (04/12/86)
About a week or so ago I posted the sources to a simple graphing package called "mongo" to net.sources. Since then, I have discovered that on the 7300, whenever you resize or move a window, the escape sequence generated by the mouse gets passed to the input stream of the program (!), causing the command-hashing routine to yield a non-sense pointer, causing the program to bomb as soon as you type <return>. Here's the fix: file: hash.c function: lookup() lookup(s) char *s; { struct nlist *np; int i; /* first line of fix */ if ((i = hash(s)) < 0) /* second line */ return(NULL); /* third */ for (np = hashtab[i]; np != NULL; np = np->next) /* last line of fix */ . . As you can see, I've added a check to make sure that the hashing function does not return a negative value. What happened was that the mouse escape sequence somehow gave negative character values, AND the mod function inside the hashing procedure returned negative values for negative arguments. Hmmm. -- Michael Richmond Princeton University, Astrophysics {allegra,akgua,burl,cbosgd,decvax,ihnp4,noao,princeton,vax135}!astrovax!richmon