29 return array->num_elements;
43 if (!array || !needle) {
49 for (i = 0; i < array->num_elements; i++) {
51 if (s && !strcmp(needle, s)) {
56 return array->num_elements;
61 if (!array || !elem) {
73 if (!array || !elem) {
104 for (
size_t i = 0; i < array->num_elements; i++) {
106 if (strcmp(*elem, del) != 0) {
113 array->num_elements = j;
122 for (
size_t i = 0; i < array->num_elements; i++) {
132static int strpcmp(
const void *a,
const void *b)
134 char **aChar = (
char **)a;
135 char **bChar = (
char **)b;
136 return strcmp(*aChar, *bChar);
162 for (i = 0; i < array->num_elements; i++) {
icalarray * icalarray_copy(const icalarray *originalarray)
void * icalarray_element_at(icalarray *array, size_t position)
Access an array element.
void icalarray_free(icalarray *array)
void icalarray_sort(icalarray *array, int(*compare)(const void *, const void *))
Sorts the elements of an icalarray using the given comparison function.
void icalarray_append(icalarray *array, const void *element)
Appends an element to an array.
void icalarray_set_element_at(icalarray *array, const void *element, size_t position)
Overwrites an existing element in an array with a new value.
void icalarray_remove_element_at(icalarray *array, size_t position)
Removes a given element from an array.
void icalmemory_free_buffer(void *buf)
Releases a buffer.
char * icalmemory_strdup(const char *s)
Creates a duplicate of a string.
Common memory management routines.
const char * icalstrarray_element_at(icalstrarray *array, size_t position)
Accesses a string stored in the array.
size_t icalstrarray_find(icalstrarray *array, const char *needle)
Finds a string in the array.
void icalstrarray_remove(icalstrarray *array, const char *del)
Removes all occurrences of a string.
void icalstrarray_append(icalstrarray *array, const char *elem)
Appends a string to the array.
void icalstrarray_remove_element_at(icalstrarray *array, size_t position)
Removes the string at an array position.
icalstrarray * icalstrarray_clone(icalstrarray *array)
Clones the array and all its elements.
void icalstrarray_add(icalstrarray *array, const char *elem)
Appends a string to the array, omitting duplicates.
void icalstrarray_sort(icalstrarray *array)
Sorts the strings in the array in ascending order.
void icalstrarray_free(icalstrarray *array)
Frees this array's memory and all its elements.
size_t icalstrarray_size(const icalstrarray *array)
Indicates the count of strings stored in the array.
Defines the data structure for handling string arrays.