]> pd.if.org Git - pdclib/blobdiff - functions/stdlib/free.c
Removed the header include guard 'optimization'.
[pdclib] / functions / stdlib / free.c
index 6b63741913a844f3378341316cb47f03c2ea2d4c..86044c0f5bad66e629312b4513f791c6ab19859c 100644 (file)
@@ -1,7 +1,5 @@
 /* $Id$ */
 
-/* Release $Name$ */
-
 /* void free( void * )
 
    This file is part of the Public Domain C Library (PDCLib).
 
 #ifndef REGTEST
 
-#ifndef _PDCLIB_INT_H
-#define _PDCLIB_INT_H _PDCLIB_INT_H
 #include <_PDCLIB_int.h>
-#endif
 
 /* TODO: Primitive placeholder. Much room for improvement. */
 
@@ -24,6 +19,10 @@ extern struct _PDCLIB_headnode_t _PDCLIB_memlist;
 
 void free( void * ptr )
 {
+    if ( ptr == NULL )
+    {
+        return;
+    }
     ptr = (void *)( (char *)ptr - sizeof( struct _PDCLIB_memnode_t ) );
     ( (struct _PDCLIB_memnode_t *)ptr )->next = NULL;
     if ( _PDCLIB_memlist.last != NULL )
@@ -41,10 +40,12 @@ void free( void * ptr )
 
 #ifdef TEST
 #include <_PDCLIB_test.h>
+#include <stdbool.h>
 
 int main( void )
 {
-    /* tests covered in malloc test driver */
+    free( NULL );
+    TESTCASE( true );
     return TEST_RESULTS;
 }