Alexey
-
2007-02-19
- priority: 5 --> 9
Following macro is flawed. It assigns array_data.m_size at the first line which is later gets reset to 0 by GIM_DYNARRAY_CREATE macro.
As a result "memset" gets "0" in it is 3rd argument.
#define GIM_BITSET_CREATE_SIZED(array_data,bits_count)\
{\
array_data.m_size = bits_count/GUINT_BIT_COUNT + 1;\
GIM_DYNARRAY_CREATE(GUINT,array_data,array_data.m_size);\
GUINT * _pt = GIM_DYNARRAY_POINTER(GUINT,array_data);\
memset(_pt,0,sizeof(GUINT)*(array_data.m_size));\
}\