]> mj.ucw.cz Git - libucw.git/blobdiff - lib/alloc.c
Try to merge recent changes in v3.9 to image branch...
[libucw.git] / lib / alloc.c
index bec45d9b590f691050aa7722cc746af63c91c640..678901a98e834f330d38c97fefb7f999982afc86 100644 (file)
@@ -1,12 +1,18 @@
 /*
- *     Sherlock Library -- Memory Allocation
+ *     UCW Library -- Memory Allocation
  *
  *     (c) 2000 Martin Mares <mj@ucw.cz>
+ *
+ *     This software may be freely distributed and used according to the terms
+ *     of the GNU Lesser General Public License.
  */
 
 #include "lib/lib.h"
 
 #include <stdlib.h>
+#include <string.h>
+
+#ifndef DEBUG_DMALLOC
 
 void *
 xmalloc(uns size)
@@ -16,3 +22,24 @@ xmalloc(uns size)
     die("Cannot allocate %d bytes of memory", size);
   return x;
 }
+
+#endif
+
+void *
+xmalloc_zero(uns size)
+{
+  void *x = xmalloc(size);
+  bzero(x, size);
+  return x;
+}
+
+void
+xfree(void *ptr)
+{
+  /*
+   * Maybe it is a little waste of resources to make this a function instead
+   * of a macro, but xmalloc() is not used for anything critical anyway,
+   * so let's prefer simplicity.
+   */
+  free(ptr);
+}