diff options
Diffstat (limited to 'src/messenger/gnunet-service-messenger_room.c')
-rw-r--r-- | src/messenger/gnunet-service-messenger_room.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/messenger/gnunet-service-messenger_room.c b/src/messenger/gnunet-service-messenger_room.c index 920abb10e..77657591e 100644 --- a/src/messenger/gnunet-service-messenger_room.c +++ b/src/messenger/gnunet-service-messenger_room.c | |||
@@ -212,7 +212,9 @@ join_room (struct GNUNET_MESSENGER_SrvRoom *room, | |||
212 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Joining room: %s (%s)\n", GNUNET_h2s (get_room_key (room)), | 212 | GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Joining room: %s (%s)\n", GNUNET_h2s (get_room_key (room)), |
213 | GNUNET_sh2s (get_member_id(member))); | 213 | GNUNET_sh2s (get_member_id(member))); |
214 | 214 | ||
215 | if (GNUNET_OK != change_handle_member_id (handle, get_room_key(room), get_member_id(member))) | 215 | const struct GNUNET_ShortHashCode *member_id = get_member_id(member); |
216 | |||
217 | if (GNUNET_OK != change_handle_member_id (handle, get_room_key(room), member_id)) | ||
216 | return GNUNET_NO; | 218 | return GNUNET_NO; |
217 | 219 | ||
218 | struct GNUNET_MESSENGER_Message *message = create_message_join (get_handle_ego (handle)); | 220 | struct GNUNET_MESSENGER_Message *message = create_message_join (get_handle_ego (handle)); |
@@ -224,6 +226,7 @@ join_room (struct GNUNET_MESSENGER_SrvRoom *room, | |||
224 | return GNUNET_NO; | 226 | return GNUNET_NO; |
225 | } | 227 | } |
226 | 228 | ||
229 | GNUNET_memcpy(&(message->header.sender_id), member_id, sizeof(*member_id)); | ||
227 | return send_room_message (room, handle, message); | 230 | return send_room_message (room, handle, message); |
228 | } | 231 | } |
229 | 232 | ||
@@ -262,7 +265,7 @@ notify_about_members (struct GNUNET_MESSENGER_MemberNotify *notify, | |||
262 | const struct GNUNET_MESSENGER_Message *message = get_store_message(message_store, &(element->hash)); | 265 | const struct GNUNET_MESSENGER_Message *message = get_store_message(message_store, &(element->hash)); |
263 | 266 | ||
264 | if (message) | 267 | if (message) |
265 | notify_handle_message (notify->handle, get_room_key(notify->room), session, message, &(element->hash)); | 268 | notify_handle_message (notify->handle, notify->room, session, message, &(element->hash)); |
266 | } | 269 | } |
267 | } | 270 | } |
268 | 271 | ||
@@ -377,7 +380,9 @@ open_room (struct GNUNET_MESSENGER_SrvRoom *room, | |||
377 | } | 380 | } |
378 | 381 | ||
379 | exit_open_room: | 382 | exit_open_room: |
380 | return (room->port ? send_room_message (room, handle, create_message_peer (room->service)) : GNUNET_NO); | 383 | struct GNUNET_MESSENGER_Message *peer_msg = create_message_peer (room->service); |
384 | GNUNET_memcpy(&(peer_msg->header.sender_id), member_id, sizeof(*member_id)); | ||
385 | return (room->port ? send_room_message (room, handle, peer_msg) : GNUNET_NO); | ||
381 | } | 386 | } |
382 | 387 | ||
383 | int | 388 | int |