diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/social/gnunet-service-social.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/social/gnunet-service-social.c b/src/social/gnunet-service-social.c index 5b2a8ba9b..d1e644812 100644 --- a/src/social/gnunet-service-social.c +++ b/src/social/gnunet-service-social.c | |||
@@ -1755,6 +1755,7 @@ guest_enter (const struct GuestEnterRequest *greq, struct Guest **ret_gst) | |||
1755 | struct GNUNET_CONTAINER_MultiHashMap * | 1755 | struct GNUNET_CONTAINER_MultiHashMap * |
1756 | plc_gst = GNUNET_CONTAINER_multihashmap_get (place_guests, &place_pub_hash); | 1756 | plc_gst = GNUNET_CONTAINER_multihashmap_get (place_guests, &place_pub_hash); |
1757 | struct Guest *gst = NULL; | 1757 | struct Guest *gst = NULL; |
1758 | int new_guest; | ||
1758 | 1759 | ||
1759 | if (NULL != plc_gst) | 1760 | if (NULL != plc_gst) |
1760 | gst = GNUNET_CONTAINER_multihashmap_get (plc_gst, &ego_pub_hash); | 1761 | gst = GNUNET_CONTAINER_multihashmap_get (plc_gst, &ego_pub_hash); |
@@ -1763,9 +1764,12 @@ guest_enter (const struct GuestEnterRequest *greq, struct Guest **ret_gst) | |||
1763 | "plc_gst = %p, gst = %p\n", | 1764 | "plc_gst = %p, gst = %p\n", |
1764 | plc_gst, | 1765 | plc_gst, |
1765 | gst); | 1766 | gst); |
1767 | |||
1768 | new_guest = GNUNET_NO; | ||
1766 | if (NULL == gst) | 1769 | if (NULL == gst) |
1767 | { | 1770 | { |
1768 | gst = GNUNET_new (struct Guest); | 1771 | gst = GNUNET_new (struct Guest); |
1772 | new_guest = GNUNET_YES; | ||
1769 | } | 1773 | } |
1770 | if (NULL == gst->slave) | 1774 | if (NULL == gst->slave) |
1771 | { | 1775 | { |
@@ -1841,6 +1845,9 @@ guest_enter (const struct GuestEnterRequest *greq, struct Guest **ret_gst) | |||
1841 | plc_gst = GNUNET_CONTAINER_multihashmap_create (1, GNUNET_YES); | 1845 | plc_gst = GNUNET_CONTAINER_multihashmap_create (1, GNUNET_YES); |
1842 | (void) GNUNET_CONTAINER_multihashmap_put (place_guests, &plc->pub_key_hash, plc_gst, | 1846 | (void) GNUNET_CONTAINER_multihashmap_put (place_guests, &plc->pub_key_hash, plc_gst, |
1843 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST); | 1847 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST); |
1848 | } | ||
1849 | if (GNUNET_YES == new_guest) | ||
1850 | { | ||
1844 | (void) GNUNET_CONTAINER_multihashmap_put (plc_gst, &plc->ego_pub_hash, gst, | 1851 | (void) GNUNET_CONTAINER_multihashmap_put (plc_gst, &plc->ego_pub_hash, gst, |
1845 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST); | 1852 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST); |
1846 | (void) GNUNET_CONTAINER_multihashmap_put (guests, &plc->pub_key_hash, gst, | 1853 | (void) GNUNET_CONTAINER_multihashmap_put (guests, &plc->pub_key_hash, gst, |