- Added some tools to detect memory leaks.
[ircu2.10.12-pk.git] / ircd / ircd_alloc.c
index 903b9b142cd503601707a50104d2806696c38401..c46bd987d6783a5f028ac1a0a0be813a22f1f5de 100644 (file)
@@ -1,5 +1,5 @@
 /************************************************************************
- *   IRC - Internet Relay Chat, src/ircd_log.c
+ *   IRC - Internet Relay Chat, ircd/ircd_alloc.c
  *   Copyright (C) 1999 Thomas Helvey (BleepSoft)
  *                     
  *   See file AUTHORS in IRC package for additional names of
  *
  *   $Id$
  */
+#include "config.h"
+
 #include "ircd_alloc.h"
 #include "ircd_string.h"
 #include "s_debug.h"
 
 #include <assert.h>
 
-#if defined(NDEBUG)
-/*
- * RELEASE: allocation functions
- */
+static void nomem_handler(void);
+
+/* Those ugly globals... */
+OutOfMemoryHandler noMemHandler = nomem_handler;
+void *malloc_tmp;
 
-static void nomem_handler(void)
+static void
+nomem_handler(void)
 {
+#ifdef MDEBUG
+  assert(0);
+#else
   Debug((DEBUG_FATAL, "Out of memory, exiting"));
   exit(2);
+#endif
 }
 
-static OutOfMemoryHandler noMemHandler = nomem_handler;
-
-void set_nomem_handler(OutOfMemoryHandler handler)
+void
+set_nomem_handler(OutOfMemoryHandler handler)
 {
   noMemHandler = handler;
 }
-
-void* MyMalloc(size_t size)
-{
-  void* p = malloc(size);
-  if (!p)
-    (*noMemHandler)();
-  return p;
-}
-
-void* MyRealloc(void* p, size_t size)
-{
-  void* x = realloc(p, size);
-  if (!x)
-    (*noMemHandler)();
-  return x;
-}
-
-void* MyCalloc(size_t nelem, size_t size)
-{
-  void* p = calloc(nelem, size);
-  if (!p)
-    (*noMemHandler)();
-  return p;
-}
-
-#else /* !defined(NDEBUG) */
-/*
- * DEBUG: allocation functions
- */
-void set_nomem_handler(OutOfMemoryHandler handler)
-{
-  assert(0 != handler);
-  fda_set_nomem_handler(handler);
-}
-
-#endif /* !defined(NDEBUG) */
-