17 size_t i, elements,
size;
25 for( i = 0; i < dimensions; i++ )
27 lbTB[i] = va_arg( ap, ssize_t );
28 ubTB[i] = va_arg( ap, ssize_t );
30 if( lbTB[i] > ubTB[i] )
35 if( dtor_mult !=
NULL )
37 ssize_t new_lb = (ubTB[0] - lbTB[0]) + 1;
38 if( new_lb < array->dimTB[0].elements )
41 dtor_mult( array, dtor, new_lb );
48 size = elements * element_len;
51 array->
ptr = realloc( array->
ptr, size );
56 if( size > array->
size )
58 this_ = ((
const char*)array->
ptr) + array->
size;
61 memset( (
void *)this_, 0, size - array->
size );
65 size_t objects = (size - array->
size) / element_len;
78 dim = &array->
dimTB[0];
79 for( i = 0; i < dimensions; i++, dim++ )
81 dim->elements = (ubTB[i] - lbTB[i]) + 1;
82 dim->lbound = lbTB[i];
83 dim->ubound = ubTB[i];
129 va_start( ap, dimensions );
130 res =
hRedim( array, element_len, doclear, isvarlen, dimensions, ap );
148 va_start( ap, dimensions );
149 res =
hRedim( array, element_len,
TRUE, isvarlen, dimensions, ap );