X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fngircd%2Farray.c;h=1e56b719cd4fabc74de4326959790d68805383ca;hb=ecad9f32c82f50312010ab41f7702d1329bc511e;hp=d26d5e39b15874e1eb147da24fd01954e5cdd1c4;hpb=f74781647a842bb801278d54cf82cd1104563d18;p=ngircd-alex.git diff --git a/src/ngircd/array.c b/src/ngircd/array.c index d26d5e39..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.14 2006/12/28 12:53:41 alex 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.14 2006/12/28 12:53:41 alex 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 @@ -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)