/***************************************************************************** // void * realloc(void *,size_t); *****************************************************************************/ void *_NW_realloc( void *old, size_t size) { void * new_blk; size_t mem_size = 0; if( old == NULL ) return( _NW_malloc( size ) ); if( size == 0 ) { _NW_free( old ); return( NULL ); } if( size <= (mem_size = SizeOfAllocBlock(old))) return( old ); if(NULL == (new_blk = _NW_malloc( size ))) return( NULL ); if( size < mem_size ) mem_size = size; memcpy( new_blk, old, mem_size ); _NW_free( old ); return( new_blk ); }
void free(void * p) { _NW_free(p); }
extern void free(void * p) { _NW_free(p); }