#define TAB_APPEND_CAST( cast, count, tab, p ) \
do { \
if( (count) > 0 ) \
- (tab) = cast realloc( tab, sizeof( void ** ) * ( (count) + 1 ) ); \
+ (tab) = cast realloc( tab, sizeof( *(tab) ) * ( (count) + 1 ) ); \
else \
- (tab) = cast malloc( sizeof( void ** ) ); \
+ (tab) = cast malloc( sizeof( *(tab) ) ); \
if( !(tab) ) abort(); \
(tab)[count] = (p); \
(count)++; \
{ \
memmove( ((void**)(tab) + i_index), \
((void**)(tab) + i_index+1), \
- ( (count) - i_index - 1 ) * sizeof( void* ) );\
+ ( (count) - i_index - 1 ) * sizeof( *(tab) ) );\
} \
(count)--; \
if( (count) == 0 ) \
#define TAB_INSERT_CAST( cast, count, tab, p, index ) do { \
if( (count) > 0 ) \
- (tab) = cast realloc( tab, sizeof( void ** ) * ( (count) + 1 ) ); \
+ (tab) = cast realloc( tab, sizeof( *(tab) ) * ( (count) + 1 ) ); \
else \
- (tab) = cast malloc( sizeof( void ** ) ); \
+ (tab) = cast malloc( sizeof( *(tab) ) ); \
if( !(tab) ) abort(); \
if( (count) - (index) > 0 ) \
memmove( (void**)(tab) + (index) + 1, \