dhtlog updates
[oweals/gnunet.git] / src / util / container_slist.c
index ab547f313d0328e2cabba35f4df6aaac62f39571..fb9ab5558719c2a17b7efa8a5c395e65c2445458 100644 (file)
@@ -145,6 +145,29 @@ GNUNET_CONTAINER_slist_add (struct GNUNET_CONTAINER_SList *l,
 }
 
 
+/**
+ * Append a singly linked list to another
+ * @param dst list to append to
+ * @param src source
+ */
+void
+GNUNET_CONTAINER_slist_append (struct GNUNET_CONTAINER_SList *dst, struct GNUNET_CONTAINER_SList *src)
+{
+  struct GNUNET_CONTAINER_SList_Iterator *i;
+
+  for (i = GNUNET_CONTAINER_slist_begin (src); GNUNET_CONTAINER_slist_end (i) !=
+      GNUNET_YES; GNUNET_CONTAINER_slist_next (i))
+
+    {
+      GNUNET_CONTAINER_slist_add (dst,
+          (i->elem->disp == GNUNET_CONTAINER_SLIST_DISPOSITION_STATIC) ? GNUNET_CONTAINER_SLIST_DISPOSITION_STATIC
+              : GNUNET_CONTAINER_SLIST_DISPOSITION_TRANSIENT, i->elem->elem,
+          i->elem->len);
+    }
+  GNUNET_CONTAINER_slist_iter_destroy (i);
+}
+
+
 /**
  * Create a new singly linked list
  * @return the new list