94 for (j = 0; j < level; j++)
98 fprintf(file,
"+-- osl_arrays_t\n");
100 fprintf(file,
"+-- NULL arrays\n");
102 if (arrays != NULL) {
104 for(j = 0; j <= level; j++)
105 fprintf(file,
"|\t");
108 fprintf(file,
"nb_names: %d\n", arrays->
nb_names);
111 for(i = 0; i < arrays->
nb_names; i++) {
113 for(j = 0; j <= level; j++)
114 fprintf(file,
"|\t");
116 fprintf(file,
"id: %2d, name: %s\n", arrays->
id[i], arrays->
names[i]);
121 for (j = 0; j <= level; j++)
122 fprintf(file,
"|\t");
149 char *
string = NULL;
152 if (arrays != NULL) {
153 OSL_malloc(
string,
char *, high_water_mark *
sizeof(
char));
156 sprintf(buffer,
"# Number of arrays\n");
159 sprintf(buffer,
"%d\n", arrays->
nb_names);
163 sprintf(buffer,
"# Mapping array-identifiers/array-names\n");
166 for (i = 0; i < arrays->
nb_names; i++) {
167 sprintf(buffer,
"%d %s\n", arrays->
id[i], arrays->
names[i]);
171 OSL_realloc(
string,
char *, (strlen(
string) + 1) *
sizeof(
char));
209 OSL_malloc(arrays->
id,
int *, (
size_t)nb_names *
sizeof(
int));
212 for (i = 0; i < nb_names; i++)
213 arrays->
names[i] = NULL;
216 for (k = 0; k < nb_names; k++) {
247 arrays->
names = NULL;
261 if (arrays != NULL) {
263 for (i = 0; i < arrays->
nb_names; i++)
264 free(arrays->
names[i]);
295 for (i = 0; i < arrays->
nb_names; i++) {
296 clone->
id[i] = arrays->
id[i];
320 if (((a1 == NULL) && (a2 != NULL)) || ((a1 != NULL) && (a2 == NULL))) {
321 OSL_info(
"arrays are not the same");
327 OSL_info(
"arrays are not the same");
333 for (i = 0; i < a1->
nb_names; i++) {
335 for (j = 0; j < a2->
nb_names; j++) {
336 if ((a1->
id[i] == a2->
id[j]) && (!strcmp(a1->
names[i], a2->
names[j]))) {
342 OSL_info(
"arrays are not the same");
369 max_id = arrays->
id[0];
370 for (i = 1; i < arrays->
nb_names; i++)
371 if (arrays->
id[i] > max_id)
372 max_id = arrays->
id[i];
377 for (i = 0; i < arrays->
nb_names; i++) {
378 free(strings->
string[arrays->
id[i] - 1]);
396 if (arrays == NULL || name == NULL)
423 for (i=0; i< (size_t)arrays->
nb_names; i++) {
424 if(arrays->
id[i]==
id)
442 if (arrays == NULL || name == NULL)
445 for (i=0; i<(size_t)arrays->
nb_names; i++) {
446 if(!strcmp(arrays->
names[i], name))
void *(* osl_clone_f)(void *)
void *(* osl_sread_f)(char **)
int osl_util_read_int(FILE *file, char **str)
void(* osl_idump_f)(FILE *, void *, int)
size_t osl_arrays_get_index_from_name(osl_arrays_p arrays, char *name)
osl_interface_p osl_interface_malloc(void)
void osl_arrays_idump(FILE *file, osl_arrays_p arrays, int level)
void osl_util_safe_strcat(char **dst, char *src, size_t *hwm)
char *(* osl_sprint_f)(void *)
void osl_arrays_free(osl_arrays_p arrays)
#define OSL_strdup(destination, source)
void *(* osl_malloc_f)(void)
char * osl_util_read_string(FILE *file, char **str)
#define OSL_realloc(ptr, type, size)
char * osl_arrays_sprint(osl_arrays_p arrays)
osl_arrays_p osl_arrays_sread(char **input)
int(* osl_equal_f)(void *, void *)
int osl_arrays_equal(osl_arrays_p a1, osl_arrays_p a2)
osl_arrays_p osl_arrays_malloc(void)
size_t osl_arrays_get_index_from_id(osl_arrays_p arrays, int id)
void(* osl_free_f)(void *)
osl_arrays_p osl_arrays_clone(osl_arrays_p arrays)
osl_interface_p osl_arrays_interface(void)
void osl_arrays_dump(FILE *file, osl_arrays_p arrays)
int osl_arrays_add(osl_arrays_p arrays, int id, char *name)
osl_strings_p osl_arrays_to_strings(osl_arrays_p arrays)
osl_strings_p osl_strings_generate(char *prefix, int nb_strings)
#define OSL_malloc(ptr, type, size)