Mercurial > dovecot > original-hg > dovecot-1.2
changeset 3196:b426b1d58296 HEAD
#ifdefs were wrong, we need both __GNUC__ and DEBUG to do type checking.
Added new ARRAY_TYPE_CHECKS macro which can also be defined manually to
enable it.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 13 Mar 2005 00:44:37 +0200 |
parents | 10532f156263 |
children | b6faacb023a0 |
files | src/lib/array.h |
diffstat | 1 files changed, 13 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib/array.h Sun Mar 13 00:39:06 2005 +0200 +++ b/src/lib/array.h Sun Mar 13 00:44:37 2005 +0200 @@ -36,6 +36,10 @@ } */ #if defined (DEBUG) && defined (__GNUC__) +# define ARRAY_TYPE_CHECKS +#endif + +#ifdef ARRAY_TYPE_CHECKS # define ARRAY_DEFINE(name, array_type) name; array_type *name ## __ ## type # define ARRAY_CREATE(array, pool, array_type, init_count) STMT_START { \ array_type *_array_tmp = *(array ## __ ## type); _array_tmp = NULL; \ @@ -96,7 +100,7 @@ { buffer_append(array->buffer, data, count * array->element_size); } -#ifndef DEBUG +#ifndef ARRAY_TYPE_CHECKS # define array_append _array_append #else # define array_append(array, data, count) STMT_START { \ @@ -119,7 +123,7 @@ buffer_insert(array->buffer, idx * array->element_size, data, count * array->element_size); } -#ifndef DEBUG +#ifndef ARRAY_TYPE_CHECKS # define array_insert _array_insert #else # define array_insert(array, idx, data, count) STMT_START { \ @@ -142,7 +146,7 @@ *count_r = array->buffer->used / array->element_size; return array->buffer->data; } -#ifndef DEBUG +#ifndef ARRAY_TYPE_CHECKS # define array_get _array_get #else # define array_get(array, count) \ @@ -155,7 +159,7 @@ i_assert(idx * array->element_size < array->buffer->used); return CONST_PTR_OFFSET(array->buffer->data, idx * array->element_size); } -#ifndef DEBUG +#ifndef ARRAY_TYPE_CHECKS # define array_idx _array_idx #else # define array_idx(array, idx) \ @@ -169,7 +173,7 @@ *count_r = array->buffer->used / array->element_size; return buffer_get_modifyable_data(array->buffer, NULL); } -#ifndef DEBUG +#ifndef ARRAY_TYPE_CHECKS # define array_get_modifyable _array_get_modifyable #else # define array_get_modifyable(array, count) \ @@ -190,7 +194,7 @@ } return buffer_get_space_unsafe(array->buffer, pos, array->element_size); } -#ifndef DEBUG +#ifndef ARRAY_TYPE_CHECKS # define array_modifyable_idx _array_modifyable_idx #else # define array_modifyable_idx(array, count) \ @@ -210,7 +214,7 @@ } buffer_write(array->buffer, pos, data, array->element_size); } -#ifndef DEBUG +#ifndef ARRAY_TYPE_CHECKS # define array_idx_set _array_idx_set #else # define array_idx_set(array, idx, data) STMT_START { \ @@ -228,7 +232,7 @@ memset(data, 0, array->element_size); return data; } -#ifndef DEBUG +#ifndef ARRAY_TYPE_CHECKS # define array_modifyable_append _array_modifyable_append #else # define array_modifyable_append(array) \ @@ -250,7 +254,7 @@ memset(data, 0, array->element_size); return data; } -#ifndef DEBUG +#ifndef ARRAY_TYPE_CHECKS # define array_modifyable_insert _array_modifyable_insert #else # define array_modifyable_insert(array, idx) \