}
}
-static AvahiStringList* string_list_reverse(AvahiStringList *l) {
+AvahiStringList* avahi_string_list_reverse(AvahiStringList *l) {
AvahiStringList *r = NULL, *n;
while (l) {
guint s = 0;
gchar *t, *e;
- l = string_list_reverse(l);
+ l = avahi_string_list_reverse(l);
for (n = l; n; n = n->next) {
if (n != l)
g_assert(e);
}
- l = string_list_reverse(l);
+ l = avahi_string_list_reverse(l);
*e = 0;
g_assert(data);
- l = string_list_reverse(l);
+ l = avahi_string_list_reverse(l);
c = data;
for (n = l; n; n = n->next) {
used += 1+ k;
}
- l = string_list_reverse(l);
+ l = avahi_string_list_reverse(l);
} else {
AvahiStringList *n;
return used;
}
-gboolean avahi_string_list_equal(AvahiStringList *a, AvahiStringList *b) {
+gboolean avahi_string_list_equal(const AvahiStringList *a, const AvahiStringList *b) {
for (;;) {
if (!a && !b)
return avahi_string_list_add_many_va(NULL, va);
}
-AvahiStringList *avahi_string_list_copy(AvahiStringList *l) {
+AvahiStringList *avahi_string_list_copy(const AvahiStringList *l) {
AvahiStringList *r = NULL;
for (; l; l = l->next)
r = avahi_string_list_add_arbitrary(r, l->text, l->size);
- return string_list_reverse(r);
+ return avahi_string_list_reverse(r);
+}
+
+AvahiStringList *avahi_string_list_new_from_array(const gchar *array[], gint length) {
+ AvahiStringList *r = NULL;
+ gint i;
+
+ g_assert(array);
+
+ for (i = 0; length >= 0 ? i < length : !!array[i]; i++)
+ r = avahi_string_list_add(r, array[i]);
+
+ return r;
+}
+
+guint avahi_string_list_length(const AvahiStringList *l) {
+ guint n = 0;
+
+ for (; l; l = l->next)
+ n++;
+
+ return n;
}