gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r32206 - gnunet/src/mesh


From: gnunet
Subject: [GNUnet-SVN] r32206 - gnunet/src/mesh
Date: Tue, 4 Feb 2014 15:14:15 +0100

Author: bartpolot
Date: 2014-02-04 15:14:15 +0100 (Tue, 04 Feb 2014)
New Revision: 32206

Modified:
   gnunet/src/mesh/gnunet-service-mesh_peer.c
   gnunet/src/mesh/gnunet-service-mesh_peer.h
Log:
- copy hellos since parameter is const

Modified: gnunet/src/mesh/gnunet-service-mesh_peer.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh_peer.c  2014-02-04 14:14:14 UTC (rev 
32205)
+++ gnunet/src/mesh/gnunet-service-mesh_peer.c  2014-02-04 14:14:15 UTC (rev 
32206)
@@ -1878,14 +1878,17 @@
  * @param hello Hello message.
  */
 void
-GMP_set_hello (struct MeshPeer *peer, struct GNUNET_HELLO_Message *hello)
+GMP_set_hello (struct MeshPeer *peer, const struct GNUNET_HELLO_Message *hello)
 {
   struct GNUNET_TIME_Absolute expiration;
   struct GNUNET_TIME_Relative remaining;
+  size_t size;
 
   if (NULL == peer->hello)
   {
-    peer->hello = hello;
+    size = GNUNET_HELLO_size (hello);
+    peer->hello = GNUNET_malloc (size);
+    memcpy (peer->hello, hello, size);
     return;
   }
 
@@ -1894,10 +1897,18 @@
   if (0 == remaining.rel_value_us)
   {
     GNUNET_free (peer->hello);
-    peer->hello = hello;
+    size = GNUNET_HELLO_size (hello);
+    peer->hello = GNUNET_malloc (size);
+    memcpy (peer->hello, hello, size);
   }
   else
-    peer->hello = GNUNET_HELLO_merge (peer->hello, hello);
+  {
+    struct GNUNET_HELLO_Message *old;
+
+    old = peer->hello;
+    peer->hello = GNUNET_HELLO_merge (old, hello);
+    GNUNET_free (old);
+  }
 }
 
 

Modified: gnunet/src/mesh/gnunet-service-mesh_peer.h
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh_peer.h  2014-02-04 14:14:14 UTC (rev 
32205)
+++ gnunet/src/mesh/gnunet-service-mesh_peer.h  2014-02-04 14:14:15 UTC (rev 
32206)
@@ -325,7 +325,7 @@
  * @param hello Hello message.
  */
 void
-GMP_set_hello (struct MeshPeer *peer, struct GNUNET_HELLO_Message *hello);
+GMP_set_hello (struct MeshPeer *peer, const struct GNUNET_HELLO_Message 
*hello);
 
 /**
  * Get the hello message.




reply via email to

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