aboutsummaryrefslogtreecommitdiff
path: root/src/gnunet_chat_handle_intern.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gnunet_chat_handle_intern.c')
-rw-r--r--src/gnunet_chat_handle_intern.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gnunet_chat_handle_intern.c b/src/gnunet_chat_handle_intern.c
index a026617..04afcbc 100644
--- a/src/gnunet_chat_handle_intern.c
+++ b/src/gnunet_chat_handle_intern.c
@@ -374,7 +374,7 @@ intern_provide_contact_for_member(struct GNUNET_CHAT_Handle *handle,
374 GNUNET_assert((handle) && (handle->contacts)); 374 GNUNET_assert((handle) && (handle->contacts));
375 375
376 if (!member) 376 if (!member)
377 return GNUNET_OK; 377 return GNUNET_SYSERR;
378 378
379 struct GNUNET_ShortHashCode shorthash; 379 struct GNUNET_ShortHashCode shorthash;
380 util_shorthash_from_member(member, &shorthash); 380 util_shorthash_from_member(member, &shorthash);
@@ -584,12 +584,15 @@ on_handle_message (void *cls,
584 (hash)); 584 (hash));
585 585
586 if ((handle->destruction) || 586 if ((handle->destruction) ||
587 (GNUNET_OK != handle_request_context_by_room(handle, room)) || 587 (GNUNET_OK != handle_request_context_by_room(handle, room)))
588 (GNUNET_OK != intern_provide_contact_for_member(handle, sender, NULL)))
589 return; 588 return;
590 589
591 GNUNET_MESSENGER_get_message(room, &(msg->header.previous)); 590 GNUNET_MESSENGER_get_message(room, &(msg->header.previous));
592 591
592 if ((GNUNET_CHAT_KIND_UNKNOWN == util_message_kind_from_kind(msg->header.kind)) ||
593 (GNUNET_OK != intern_provide_contact_for_member(handle, sender, NULL)))
594 return;
595
593 struct GNUNET_CHAT_Context *context = GNUNET_CONTAINER_multihashmap_get( 596 struct GNUNET_CHAT_Context *context = GNUNET_CONTAINER_multihashmap_get(
594 handle->contexts, GNUNET_MESSENGER_room_get_key(room) 597 handle->contexts, GNUNET_MESSENGER_room_get_key(room)
595 ); 598 );