47 return g_ptr_array_new();
55 gchar *buf, *ptr1, *ptr2;
58 if (!strs || strs[0] ==
'\0')
64 ptr2 = strchr(ptr1,
',');
89 g_ptr_array_add(array, g_strdup(str));
97 for (i = 0; i < array->len; i++) {
98 if (g_strcmp0(remmina_string_array_index(array, i), str) == 0)
106 TRACE_CALL(__func__);
107 g_ptr_array_remove_index(array, i);
112 TRACE_CALL(__func__);
123 TRACE_CALL(__func__);
130 while (i < array->len) {
144 TRACE_CALL(__func__);
145 return g_strcmp0(*a, *b);
150 TRACE_CALL(__func__);
157 TRACE_CALL(__func__);
161 gstr = g_string_new(
"");
162 for (i = 0; i < array->len; i++) {
164 g_string_append_c(gstr,
',');
165 g_string_append(gstr, remmina_string_array_index(array, i));
167 return g_string_free(gstr, FALSE);
172 TRACE_CALL(__func__);
173 g_ptr_array_foreach(array, (GFunc)g_free, NULL);
174 g_ptr_array_free(array, TRUE);
static gint remmina_string_array_compare_func(const gchar **a, const gchar **b)
G_BEGIN_DECLS typedef GPtrArray RemminaStringArray
gint remmina_string_array_find(RemminaStringArray *array, const gchar *str)
gchar * remmina_string_array_to_string(RemminaStringArray *array)
void remmina_string_array_intersect(RemminaStringArray *array, const gchar *dest_strs)
void remmina_string_array_remove_index(RemminaStringArray *array, gint i)
void remmina_string_array_sort(RemminaStringArray *array)
void remmina_string_array_free(RemminaStringArray *array)
RemminaStringArray * remmina_string_array_new_from_allocated_string(gchar *strs)
RemminaStringArray * remmina_string_array_new_from_string(const gchar *strs)
RemminaStringArray * remmina_string_array_new(void)
void remmina_string_array_remove(RemminaStringArray *array, const gchar *str)
void remmina_string_array_add(RemminaStringArray *array, const gchar *str)