typedef void (*vfp)(void);
extern vfp __new_handler;
+extern void __default_new_handler (void);
void *
__builtin_new (size_t sz)
{
void *p;
+ vfp handler = (__new_handler) ? __new_handler : __default_new_handler;
/* malloc (0) is unpredictable; avoid it. */
if (sz == 0)
p = (void *) malloc (sz);
while (p == 0)
{
- (*__new_handler) ();
+ (*handler) ();
p = (void *) malloc (sz);
}
typedef void (*vfp)(void);
void __default_new_handler (void);
-vfp __new_handler = __default_new_handler;
+vfp __new_handler = (vfp)0;
vfp
set_new_handler (vfp handler)