5 * String arrays handling code.
13 void GSM_StringArray_New(GSM_StringArray
*array
)
20 void GSM_StringArray_Free(GSM_StringArray
*array
)
23 for (i
= 0; i
< array
->used
; i
++) {
27 GSM_StringArray_New(array
);
30 gboolean
GSM_StringArray_Add(GSM_StringArray
*array
, const char *string
)
34 /* Allocate extra space if needed */
35 if (array
->used
+ 1 > array
->allocated
) {
36 newdata
= realloc(array
->data
, (array
->allocated
+ 10) * sizeof(char **));
37 if (newdata
== NULL
) return FALSE
;
38 array
->allocated
+= 10;
39 array
->data
= newdata
;
42 array
->data
[array
->used
] = strdup(string
);
43 if (array
->data
[array
->used
] == NULL
) return FALSE
;
50 gboolean
GSM_StringArray_Find(GSM_StringArray
*array
, const char *string
)
53 for (i
= 0; i
< array
->used
; i
++) {
54 if (strcmp(array
->data
[i
], string
) == 0) return TRUE
;
59 /* Editor configuration
60 * vim: noexpandtab sw=8 ts=8 sts=8 tw=72: