X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Farray.c;h=1e56b719cd4fabc74de4326959790d68805383ca;hb=4c113d8850dfc423e3dae2d2f90e7e9a9d42f0b0;hp=1342c670060db94242267c19c6c32a5eca5f4a94;hpb=3f1e03edd93bcbb1643291a4e0e462d1dc0c7019;p=ngircd-alex.git diff --git a/src/ngircd/array.c b/src/ngircd/array.c index 1342c670..1e56b719 100644 --- a/src/ngircd/array.c +++ b/src/ngircd/array.c @@ -12,7 +12,7 @@ #include "array.h" -static char UNUSED id[] = "$Id: array.c,v 1.13 2006/12/17 22:52:43 fw Exp $"; +static char UNUSED id[] = "$Id: array.c,v 1.15 2007/11/18 15:05:35 alex Exp $"; #include @@ -28,9 +28,9 @@ static char UNUSED id[] = "$Id: array.c,v 1.13 2006/12/17 22:52:43 fw Exp $"; #define array_UNUSABLE(x) ( !(x)->mem || (0 == (x)->allocated) ) -#define ALIGN_32U(x) (((x)+31U ) & ~(31U)) -#define ALIGN_1024U(x) (((x)+1023U) & ~(1023U)) -#define ALIGN_4096U(x) (((x)+4095U) & ~(4095U)) +#define ALIGN_32U(x) (((x)+(unsigned)31 ) & ~((unsigned)31)) +#define ALIGN_1024U(x) (((x)+(unsigned)1023) & ~((unsigned)1023)) +#define ALIGN_4096U(x) (((x)+(unsigned)4095) & ~((unsigned)4095)) static bool @@ -270,7 +270,7 @@ void array_free(array * a) { assert(a != NULL); -#ifdef DEBUG +#ifdef DEBUG_ARRAY Log(LOG_DEBUG, "array_free(): %u bytes free'd (%u bytes still used at time of free()).", a->allocated, a->used); @@ -281,6 +281,14 @@ array_free(array * a) a->used = 0; } +void +array_free_wipe(array *a) +{ + size_t bytes = a->allocated; + if (bytes) + memset(a->mem, 0, bytes); + array_free(a); +} void * array_start(const array * const a)