]> git.meshlink.io Git - catta/blobdiff - avahi-common/strlst.c
* add some autoconf check for pygtk and gtk.glade
[catta] / avahi-common / strlst.c
index 866618f3f1e36a2ec46c2104e1bd197b3f151532..d4d67da2d9d3c9250f27034fbe90f454efca5dc4 100644 (file)
@@ -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;
 }