]> pd.if.org Git - pdclib/blobdiff - functions/stdlib/atexit.c
Comment cleanups.
[pdclib] / functions / stdlib / atexit.c
index 14363566a8147dba4f6c6c7962a9c62ea26eb61f..a2c1598dd7b1371d97c85f7f2d0d9de17db2aea4 100644 (file)
@@ -1,7 +1,3 @@
-/* $Id$ */
-
-/* Release $Name$ */
-
 /* atexit( void (*)( void ) )
 
    This file is part of the Public Domain C Library (PDCLib).
 
 #ifndef REGTEST
 
-extern struct _PDCLIB_exitfunc_t * regstack;
+extern void (*_PDCLIB_regstack[])( void );
+extern size_t _PDCLIB_regptr;
 
 int atexit( void (*func)( void ) )
 {
-    struct _PDCLIB_exitfunc_t * regfunc = (struct _PDCLIB_exitfunc_t *)malloc( sizeof( struct _PDCLIB_exitfunc_t ) );
-    if ( regfunc == NULL )
+    if ( _PDCLIB_regptr == 0 )
     {
         return -1;
     }
     else
     {
-        regfunc->func = func;
-       regfunc->next = regstack;
-       regstack = regfunc;
-       return 0;
+        _PDCLIB_regstack[ --_PDCLIB_regptr ] = func;
+        return 0;
     }
 }
 
@@ -38,14 +32,14 @@ int atexit( void (*func)( void ) )
 
 static int flags[ 32 ];
 
-static void counthandler()
+static void counthandler( void )
 {
-    static int rc = 0;
-    flags[ rc ] = rc;
-    ++rc;
+    static int count = 0;
+    flags[ count ] = count;
+    ++count;
 }
 
-static void checkhandler()
+static void checkhandler( void )
 {
     for ( int i = 0; i < 31; ++i )
     {
@@ -53,9 +47,8 @@ static void checkhandler()
     }
 }
 
-int main()
+int main( void )
 {
-    BEGIN_TESTS;
     TESTCASE( atexit( &checkhandler ) == 0 );
     for ( int i = 0; i < 31; ++i )
     {