51 const char *next_string;
54 if (string_buffer ==
NULL)
72 va_start (next_arg, string2);
73 while ((next_string = va_arg (next_arg,
const char *)))
128 free (adj_array_p->
buffer);
147 if (element_size < 1)
155 if (growth_rate < 1.0)
164 adj_array_p->
rate = growth_rate;
185 if (initial_length < 0)
190 if (initial_length == 0)
204 memset ((
char *) adj_array_p->
buffer, *((
unsigned char *) initial), initial_length);
209 for (p = adj_array_p->
buffer; initial_length-- > 0; p = (
void *) ((
char *) p + adj_array_p->
element_size))
256 else if (end < start)
264 else if (src_length < 0)
269 new_length = adj_array_p->
cur_length + src_length - (end - start);
284 new_buffer = malloc (new_max * adj_array_p->
element_size);
291 adj_array_p->
buffer = new_buffer;
296 memmove ((
void *) ((
char *) adj_array_p->
buffer + (start + src_length) * adj_array_p->
element_size),
302 memmove ((
void *) ((
char *) adj_array_p->
buffer + start * adj_array_p->
element_size), src,
338 return adj_ar_replace (adj_array_p, src, src_length, start, start);
366 return adj_array_p->
buffer;
382 #if defined (ENABLE_UNUSED_FUNCTION) 391 adj_ar_get_nth_buffer (
const ADJ_ARRAY * adj_array_p,
int n)
395 if (n >= 0 && n < adj_array_p->cur_length)
const char * adj_ar_concat_strings(const char *string1, const char *string2,...)
void * adj_ar_get_buffer(const ADJ_ARRAY *adj_array_p)
int adj_ar_length(const ADJ_ARRAY *adj_array_p)
int adj_ar_replace(ADJ_ARRAY *adj_array_p, const void *src, int src_length, int start, int end)
int adj_ar_append(ADJ_ARRAY *adj_array_p, const void *src, int src_length)
int adj_ar_remove(ADJ_ARRAY *adj_array_p, int start, int end)
int adj_ar_reset(ADJ_ARRAY *adj_array_p, int element_size, int min, float growth_rate)
int adj_ar_insert(ADJ_ARRAY *adj_array_p, const void *src, int src_length, int start)
ADJ_ARRAY * adj_ar_new(int element_size, int min, float growth_rate)
int adj_ar_initialize(ADJ_ARRAY *adj_array_p, const void *initial, int initial_length)
void adj_ar_free(ADJ_ARRAY *adj_array_p)