if (intr = intr_handlers[vec]) {
if ((intr = intr_handlers[vec]) != NULL) {
intr_establish(int vec, struct intrhand *ihand){	register struct intrhand *intr;	if (vec < 0 || vec > 255) {#if DIAGNOSTIC		panic("intr_establish: vec (0x%x) not between 0x00 and 0xff",		      vec);#endif /* DIAGNOSTIC */		return (INTR_EST_BADVEC);	}	if (intr = intr_handlers[vec]) {		if (intr->ih_ipl != ihand->ih_ipl) {#if DIAGNOSTIC			panic("intr_establish: there are other handlers with vec (0x%x) at ipl %x, but you want it at %x",			      intr->ih_ipl, vec, ihand->ih_ipl);#endif /* DIAGNOSTIC */			return (INTR_EST_BADIPL);		}		/*		 * Go to the end of the chain		 */		while (intr->ih_next)			intr = intr->ih_next;	}	ihand->ih_next = 0;	if (intr)		intr->ih_next = ihand;	else		intr_handlers[vec] = ihand;	return (INTR_EST_SUCC);}