1 /************************************************************************
2 * IRC - Internet Relay Chat, ircd/ircd_alloc.c
3 * Copyright (C) 1999 Thomas Helvey (BleepSoft)
5 * See file AUTHORS in IRC package for additional names of
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 1, or (at your option)
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 #include "ircd_alloc.h"
27 #include "ircd_string.h"
34 * RELEASE: allocation functions
37 static void nomem_handler(void)
39 Debug((DEBUG_FATAL, "Out of memory, exiting"));
43 static OutOfMemoryHandler noMemHandler = nomem_handler;
45 void set_nomem_handler(OutOfMemoryHandler handler)
47 noMemHandler = handler;
50 void* MyMalloc(size_t size)
52 void* p = malloc(size);
58 void* MyRealloc(void* p, size_t size)
60 void* x = realloc(p, size);
66 void* MyCalloc(size_t nelem, size_t size)
68 void* p = calloc(nelem, size);
74 #else /* defined(MDEBUG) */
76 * DEBUG: allocation functions
78 void set_nomem_handler(OutOfMemoryHandler handler)
81 fda_set_nomem_handler(handler);
84 #endif /* defined(MDEBUG) */