| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | #include "stdio.h"#include "signal.h"#ifndef SIGIOT#ifdef SIGABRT#define SIGIOT SIGABRT#endif#endif#ifdef KR_headersvoid sig_die(s, kill) char *s; int kill;#else#include "stdlib.h"#ifdef __cplusplusextern "C" {#endif#ifdef __cplusplusextern "C" {#endif extern void f_exit(void);void sig_die(const char *s, int kill)#endif{	/* print error message, then clear buffers */	fprintf(stderr, "%s\n", s);	if(kill)		{		fflush(stderr);		f_exit();		fflush(stderr);		/* now get a core */#ifdef SIGIOT		signal(SIGIOT, SIG_DFL);#endif		abort();		}	else {#ifdef NO_ONEXIT		f_exit();#endif		exit(1);		}	}#ifdef __cplusplus}#endif#ifdef __cplusplus}#endif
 |