cs325ec@ux1.cso.uiuc.edu (03/12/90)
woops... I took out eval which took (long (*addr)()) as a param. -Greg
cs325ec@ux1.cso.uiuc.edu (03/12/90)
I am trying to set a function name to an absolute value in Turbo C: Could someone just drop a note on how to call olderrh (the old critical error handler) if I do not want to service the call? Thanks in advance -- Greg I have tried this and more: #include <stdio.h> #include <tos.h> #define drivebits 0x0030 void *olderrh; /**************************** Critical Error Handler ****************************/ long criterr(int err, int drive) { if (drive & drivebits) return(1L); else return(eval(olderrh)); } /**************************** Replace Error Handler ****************************/ void replerr(void) { olderrh = (void *)(*(long *)0x404L); *(long *)0x404L = (long)criterr; } void main(void) { Supexec(replerr); Ptermres(0x400L,0); }