From 0296fe30f002512dbde10f73ce7c57bf0085db7d Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Wed, 16 Jun 2010 20:10:55 +0000 Subject: need clear api --- src/util/container_meta_data.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/util') diff --git a/src/util/container_meta_data.c b/src/util/container_meta_data.c index f39b15930..dd7165ba9 100644 --- a/src/util/container_meta_data.c +++ b/src/util/container_meta_data.c @@ -169,6 +169,29 @@ GNUNET_CONTAINER_meta_data_destroy (struct GNUNET_CONTAINER_MetaData *md) } +/** + * Remove all items in the container. + * + * @param md metadata to manipulate + */ +void +GNUNET_CONTAINER_meta_data_clear (struct GNUNET_CONTAINER_MetaData *md) +{ + struct MetaItem *item; + + if (md == NULL) + return; + while (NULL != (item = md->items)) + { + md->items = item->next; + meta_item_free (item); + } + GNUNET_free_non_null (md->sbuf); + memset (md, 0, sizeof (struct GNUNET_CONTAINER_MetaData)); +} + + + /** * Test if two MDs are equal. We consider them equal if * the meta types, formats and content match (we do not -- cgit v1.2.3