void *stack[STACK_SIZE];
void **sp = stack;
void gc_cb(excCallbackTag tag,
void *cb_data,
void **try_data)
{
switch (tag) {
case excBeginCallback:
*try_data = sp;
break;
case excEndCallback:
case excThrowCallback:
if (try_data) sp =
(void **) *try_data;
else sp = stack;
break;
default:
break;
}
}
exc_install_callback(excBeginCallback
| excEndCallback
| excThrowCallback, gc_cb, NULL);
/* End of File */