92 for (i = 0; i < level; i++)
95 if (strings != NULL) {
97 fprintf(file,
"+-- osl_strings_t:");
98 for (i = 0; i < nb_strings; i++)
99 fprintf(file,
" %s", strings->
string[i]);
103 fprintf(file,
"+-- NULL strings\n");
106 for (i = 0; i <= level; i++)
107 fprintf(file,
"|\t");
133 int high_water_mark = OSL_MAX_STRING;
134 char *
string = NULL;
135 char buffer[OSL_MAX_STRING];
137 OSL_malloc(
string,
char *, high_water_mark *
sizeof(
char));
140 if (strings != NULL) {
142 sprintf(buffer,
"%s", strings->
string[i]);
147 sprintf(buffer,
"\n");
151 sprintf(buffer,
"# NULL strings\n");
170 if (
string != NULL) {
171 fprintf(file,
"%s",
string);
195 char tmp[OSL_MAX_STRING];
197 char **
string = NULL;
209 for (count = 0; *s && !isspace(*s) && *s !=
'#'; count++)
215 if ((!*s) || (*s ==
'#') || (*s ==
'\n'))
221 if (nb_strings > 0) {
223 OSL_malloc(
string,
char **,
sizeof(
char *) * (nb_strings + 1));
224 string[nb_strings] = NULL;
228 for (i = 0; i < nb_strings; i++) {
229 for (count = 0; *s && !isspace(*s) && *s !=
'#'; count++)
232 OSL_strdup(
string[i], tmp);
260 char buffer[OSL_MAX_STRING], * start;
287 OSL_malloc(strings->
string,
char**,
sizeof(
char*));
288 strings->
string[0] = NULL;
302 if (strings != NULL) {
303 if (strings->
string != NULL) {
305 while (strings->
string[i] != NULL) {
340 OSL_malloc(clone->
string,
char **, (nb_strings + 1) *
sizeof(
char *));
341 clone->
string[nb_strings] = NULL;
342 for (i = 0; i < nb_strings; i++)
358 if (strcmp(strings->
string[i],
string) == 0) {
return i; }
372 OSL_realloc(strings->
string,
char**,
sizeof(
char*) * (original_size + 1 + 1));
373 strings->
string[original_size + 1] = NULL;
374 strings->
string[original_size] = malloc(
sizeof(
char) * (strlen(
string) + 1));
375 strcpy(strings->
string[original_size],
string);
393 if (((s1 == NULL) && (s2 != NULL)) ||
394 ((s1 != NULL) && (s2 == NULL)) ||
398 for (i = 0; i < nb_s1; i++)
416 if ((strings != NULL) && (strings->string != NULL)) {
417 while (strings->string[size] != NULL) {
436 OSL_malloc(capsule->
string,
char **, 2 *
sizeof(
char *));
437 capsule->
string[0] = string;
438 capsule->
string[1] = NULL;
453 OSL_strdup(interface->URI, OSL_URI_STRINGS);
476 char ** strings = NULL;
477 char buff[strlen(prefix) + 16];
482 OSL_malloc(strings,
char **,
sizeof(
char *) * (nb_strings + 1));
483 strings[nb_strings] = NULL;
484 for (i = 0; i < nb_strings; i++) {
485 sprintf(buff,
"%s%d", prefix, i + 1);
486 OSL_strdup(strings[i], buff);
487 if (strings[i] == NULL)
488 OSL_error(
"memory overflow");
494 generated->
string = strings;
osl_strings_p osl_strings_malloc()
void *(* osl_clone_f)(void *)
osl_strings_p osl_strings_clone(osl_strings_p strings)
size_t osl_strings_find(osl_strings_p strings, char const *const string)
osl_interface_p osl_interface_malloc()
void *(* osl_sread_f)(char **)
osl_strings_p osl_strings_sread(char **input)
void osl_strings_idump(FILE *file, osl_strings_p strings, int level)
void osl_util_safe_strcat(char **dst, char *src, int *hwm)
struct osl_strings const *const osl_const_strings_const_p
void osl_strings_dump(FILE *file, osl_strings_p strings)
osl_strings_p osl_strings_read(FILE *file)
size_t osl_strings_size(osl_const_strings_const_p strings)
void osl_util_sskip_blank_and_comments(char **str)
void(* osl_idump_f)(FILE *, void *, int)
osl_strings_p osl_strings_encapsulate(char *string)
char *(* osl_sprint_f)(void *)
char * osl_util_skip_blank_and_comments(FILE *file, char *str)
osl_interface_p osl_strings_interface()
void osl_strings_print(FILE *file, osl_strings_p strings)
char * osl_strings_sprint(osl_strings_p strings)
void osl_strings_free(osl_strings_p strings)
int osl_strings_equal(osl_strings_p s1, osl_strings_p s2)
int(* osl_equal_f)(void *, void *)
void osl_strings_add(osl_strings_p strings, char const *const string)
osl_strings_p osl_strings_generate(char *prefix, int nb_strings)
void(* osl_free_f)(void *)