X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Falloc.c;h=678901a98e834f330d38c97fefb7f999982afc86;hb=86919305a08aa88b3a60c3216752291ba7f0b496;hp=65594669234328ad0316a2b956d2434f815479b9;hpb=03846211ba84582b133a985200502a39462dfe66;p=libucw.git diff --git a/lib/alloc.c b/lib/alloc.c index 65594669..678901a9 100644 --- a/lib/alloc.c +++ b/lib/alloc.c @@ -1,19 +1,45 @@ /* - * Sherlock Library -- Memory Allocation + * UCW Library -- Memory Allocation * - * (c) 1997 Martin Mares, + * (c) 2000 Martin Mares + * + * This software may be freely distributed and used according to the terms + * of the GNU Lesser General Public License. */ -#include +#include "lib/lib.h" + #include +#include -#include "lib.h" +#ifndef DEBUG_DMALLOC void * xmalloc(uns size) { void *x = malloc(size); if (!x) - die("Cannot allocate %d bytes of memory", 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); +}