+ return avahi_string_list_reverse(r);
+}
+
+AvahiStringList *avahi_string_list_new_from_array(const gchar *array[], gint length) {
+ AvahiStringList *r = NULL;
+ gint index;
+
+ g_assert(array);
+
+ for (index = 0; length >= 0 ? index < length : !!array[index]; index++)
+ r = avahi_string_list_add(r, array[index]);
+
+ return r;
+}
+
+guint avahi_string_list_length(const AvahiStringList *l) {
+ guint n = 0;
+
+ for (; l; l = l->next)
+ n++;
+
+ return n;