home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c082_144 / 1.ddi / CLIBSRC.ZIP / NEW.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-10  |  733 b   |  37 lines

  1. /*-----------------------------------------------------------------------*
  2.  * filename - new.cpp
  3.  * C++ NEW
  4.  *-----------------------------------------------------------------------*/
  5.  
  6. /*
  7.  *      C/C++ Run Time Library - Version 5.0
  8.  *
  9.  *      Copyright (c) 1990, 1992 by Borland International
  10.  *      All Rights Reserved.
  11.  *
  12.  */
  13.  
  14.  
  15. #include <stddef.h>
  16. #include <stdlib.h>
  17.  
  18. typedef void (* pvf)();
  19.  
  20. pvf _new_handler;
  21.  
  22. pvf set_new_handler(pvf p)
  23. {
  24.     pvf t = _new_handler;
  25.     _new_handler = p;
  26.     return t;
  27. }
  28.  
  29. void *operator new( size_t size )
  30. {
  31.     void * p;
  32.         size = size ? size : 1;
  33.     while ( (p = malloc(size)) == NULL && _new_handler != NULL)
  34.         _new_handler();
  35.     return p;
  36. }
  37.