home *** CD-ROM | disk | FTP | other *** search
/ CD Shareware Magazine 1996 December / CD_shareware_12-96.iso / DOS / Programa / CCDL122.ZIP / CLIBS / PROCONT / ATEXIT.C < prev    next >
Encoding:
C/C++ Source or Header  |  1996-06-26  |  399 b   |  26 lines

  1. #include <stdlib.h>
  2.  
  3. #define MAX_ATEXIT 32
  4.  
  5. extern int _abterm;
  6.  
  7. static int atexitval = 0;
  8. static void (*funclist[MAX_ATEXIT])(void);
  9.  
  10. #pragma rundown procexit 128
  11.  
  12. static void procexit(void)
  13. {
  14.     int i;
  15.     if (!_abterm)
  16.         for (i=atexitval; i >0; i--)
  17.             (*funclist[i-1])();
  18. }
  19.  
  20. void atexit(void (*func)(void))
  21. {
  22.     if (atexitval < MAX_ATEXIT)
  23.         funclist[atexitval++] = func;
  24. }
  25.  
  26.