]> pd.if.org Git - pdclib.old/blobdiff - functions/stdlib/realloc.c
Porting current working set from CVS.
[pdclib.old] / functions / stdlib / realloc.c
index df5fca1bc75904411404315cac347ea32f8d164c..67133b4a790747926a71accabc4d92df32700c25 100644 (file)
 
 void * realloc( void * ptr, size_t size )
 {
+    if ( ptr == NULL )
+    {
+        return malloc( size );
+    }
+    {
     struct _PDCLIB_memnode_t * baseptr = (struct _PDCLIB_memnode_t *)( (char *)ptr - sizeof( struct _PDCLIB_memnode_t ) );
     if ( baseptr->size >= size )
     {
@@ -30,6 +35,7 @@ void * realloc( void * ptr, size_t size )
         free( ptr );
         return newptr;
     }
+    }
     return NULL;
 }
 
@@ -38,9 +44,8 @@ void * realloc( void * ptr, size_t size )
 #ifdef TEST
 #include <_PDCLIB_test.h>
 
-int main()
+int main( void )
 {
-    BEGIN_TESTS;
     /* tests covered in malloc test driver */
     return TEST_RESULTS;
 }