gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r19501 - gnunet/src/fs


From: gnunet
Subject: [GNUnet-SVN] r19501 - gnunet/src/fs
Date: Sat, 28 Jan 2012 22:25:31 +0100

Author: grothoff
Date: 2012-01-28 22:25:31 +0100 (Sat, 28 Jan 2012)
New Revision: 19501

Modified:
   gnunet/src/fs/fs_sharetree.c
Log:
-implement tree freeing

Modified: gnunet/src/fs/fs_sharetree.c
===================================================================
--- gnunet/src/fs/fs_sharetree.c        2012-01-28 21:08:10 UTC (rev 19500)
+++ gnunet/src/fs/fs_sharetree.c        2012-01-28 21:25:31 UTC (rev 19501)
@@ -404,5 +404,29 @@
   GNUNET_CONTAINER_multihashmap_destroy (tc.metacounter);
 }
 
+
+/**
+ * Release memory of a share item tree.
+ *
+ * @param toplevel toplevel of the tree to be freed
+ */
+void
+GNUNET_FS_share_tree_free (struct GNUNET_FS_ShareTreeItem *toplevel)
+{
+  struct GNUNET_FS_ShareTreeItem *pos;
+
+  while (NULL != (pos = toplevel->children_head))
+    GNUNET_FS_share_tree_free (pos);
+  if (NULL != toplevel->parent)
+    GNUNET_CONTAINER_DLL_remove (toplevel->parent->children_head,
+                                toplevel->parent->children_tail,
+                                toplevel);
+  GNUNET_CONTAINER_meta_data_destroy (toplevel->meta);
+  GNUNET_FS_uri_destroy (toplevel->ksk_uri);
+  GNUNET_free_non_null (toplevel->filename);
+  GNUNET_free_non_null (toplevel->short_filename);
+  GNUNET_free (toplevel);
+}
+
 /* end fs_sharetree.c */
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]