-rps: open channel when inserting peer in view
[oweals/gnunet.git] / src / secretsharing / secretsharing_common.c
index 7fe8f46660daddad0a94349695c172bba7ae9cef..8fcba96d4d51cc204582fa05d982de6115469a56 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     (C) 2014 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2014 GNUnet e.V.
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -14,8 +14,8 @@
 
      You should have received a copy of the GNU General Public License
      along with GNUnet; see the file COPYING.  If not, write to the
-     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-     Boston, MA 02111-1307, USA.
+     Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+     Boston, MA 02110-1301, USA.
 */
 
 #include "secretsharing.h"
@@ -30,7 +30,9 @@
  * @return The share, or NULL on error.
  */
 struct GNUNET_SECRETSHARING_Share *
-GNUNET_SECRETSHARING_share_read (const void *data, size_t len, size_t *readlen)
+GNUNET_SECRETSHARING_share_read (const void *data,
+                                 size_t len,
+                                 size_t *readlen)
 {
   struct GNUNET_SECRETSHARING_Share *share;
   const struct GNUNET_SECRETSHARING_ShareHeaderNBO *sh = data;
@@ -38,8 +40,8 @@ GNUNET_SECRETSHARING_share_read (const void *data, size_t len, size_t *readlen)
   size_t n;
   uint16_t payload_size;
 
-  payload_size = ntohs (sh->num_peers) * 
-      (sizeof (uint16_t) + sizeof (struct GNUNET_SECRETSHARING_FieldElement) + 
+  payload_size = ntohs (sh->num_peers) *
+      (sizeof (uint16_t) + sizeof (struct GNUNET_SECRETSHARING_FieldElement) +
        sizeof (struct GNUNET_PeerIdentity));
 
   if (NULL != readlen)
@@ -62,7 +64,7 @@ GNUNET_SECRETSHARING_share_read (const void *data, size_t len, size_t *readlen)
   p += n;
 
   n = share->num_peers * sizeof (struct GNUNET_SECRETSHARING_FieldElement);
-  share->sigmas= GNUNET_malloc (n);
+  share->sigmas = GNUNET_malloc (n);
   memcpy (share->sigmas, p, n);
   p += n;
 
@@ -94,8 +96,8 @@ GNUNET_SECRETSHARING_share_write (const struct GNUNET_SECRETSHARING_Share *share
   char *p;
   int n;
 
-  payload_size = ntohs (share->num_peers) * 
-      (sizeof (uint16_t) + sizeof (struct GNUNET_SECRETSHARING_FieldElement) + 
+  payload_size = share->num_peers *
+      (sizeof (uint16_t) + sizeof (struct GNUNET_SECRETSHARING_FieldElement) +
        sizeof (struct GNUNET_PeerIdentity));
 
   if (NULL != writelen)
@@ -135,3 +137,16 @@ GNUNET_SECRETSHARING_share_write (const struct GNUNET_SECRETSHARING_Share *share
 }
 
 
+void
+GNUNET_SECRETSHARING_share_destroy (struct GNUNET_SECRETSHARING_Share *share)
+{
+  GNUNET_free (share->original_indices);
+  share->original_indices = NULL;
+  GNUNET_free (share->sigmas);
+  share->sigmas = NULL;
+  GNUNET_free (share->peers);
+  share->peers = NULL;
+  GNUNET_free (share);
+}
+
+