X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-common%2Fstrlst.c;h=d4d67da2d9d3c9250f27034fbe90f454efca5dc4;hb=cc0a4994f07b61952a77549fffa1711014f936be;hp=866618f3f1e36a2ec46c2104e1bd197b3f151532;hpb=c5544522f6409095627dc3d1129560195ab4ec40;p=catta diff --git a/avahi-common/strlst.c b/avahi-common/strlst.c index 866618f..d4d67da 100644 --- a/avahi-common/strlst.c +++ b/avahi-common/strlst.c @@ -78,7 +78,7 @@ void avahi_string_list_free(AvahiStringList *l) { } } -static AvahiStringList* string_list_reverse(AvahiStringList *l) { +AvahiStringList* avahi_string_list_reverse(AvahiStringList *l) { AvahiStringList *r = NULL, *n; while (l) { @@ -96,7 +96,7 @@ gchar* avahi_string_list_to_string(AvahiStringList *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) @@ -120,7 +120,7 @@ gchar* avahi_string_list_to_string(AvahiStringList *l) { g_assert(e); } - l = string_list_reverse(l); + l = avahi_string_list_reverse(l); *e = 0; @@ -136,7 +136,7 @@ guint avahi_string_list_serialize(AvahiStringList *l, gpointer data, guint size) g_assert(data); - l = string_list_reverse(l); + l = avahi_string_list_reverse(l); c = data; for (n = l; n; n = n->next) { @@ -158,7 +158,7 @@ guint avahi_string_list_serialize(AvahiStringList *l, gpointer data, guint size) used += 1+ k; } - l = string_list_reverse(l); + l = avahi_string_list_reverse(l); } else { AvahiStringList *n; @@ -176,7 +176,7 @@ guint avahi_string_list_serialize(AvahiStringList *l, gpointer data, guint size) 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) @@ -235,11 +235,32 @@ AvahiStringList *avahi_string_list_new_va(va_list va) { 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; }