home *** CD-ROM | disk | FTP | other *** search
- /*-----------------------------------------------------------------------*
- * filename - newdel.cpp
- * C++ NEW and DELETE
- *-----------------------------------------------------------------------*/
-
- /*[]------------------------------------------------------------[]*/
- /*| |*/
- /*| Turbo C++ Run Time Library - Version 1.0 |*/
- /*| |*/
- /*| |*/
- /*| Copyright (c) 1990 by Borland International |*/
- /*| All Rights Reserved. |*/
- /*| |*/
- /*[]------------------------------------------------------------[]*/
-
- #include <stddef.h>
- #include <stdlib.h>
-
- typedef void (*pvf)();
-
- pvf _new_handler;
-
- pvf set_new_handler(pvf p)
- {
- pvf t = _new_handler;
- _new_handler = p;
- return t;
- }
-
- void * operator new( size_t size )
- {
- void * p;
- while ( (p = malloc(size)) == NULL && _new_handler != NULL)
- _new_handler();
- return p;
- }
-
- #pragma warn -par
- void operator delete( void *ptr, size_t size )
- {
- free(ptr);
- }
- #pragma warn .par
-