Skip to content

Commit 67d7103

Browse files
committed
refactor
1 parent 4d065dd commit 67d7103

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

toxcore/group.c

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,27 @@ static int note_peer_active(Group_Chats *g_c, uint32_t groupnumber, uint16_t pee
558558

559559
static int delpeer(Group_Chats *g_c, uint32_t groupnumber, int peer_index, void *userdata, bool keep_connection);
560560

561+
static void delete_any_peer_with_pk(Group_Chats *g_c, uint32_t groupnumber, const uint8_t *real_pk, void *userdata)
562+
{
563+
Group_c *g = get_group_c(g_c, groupnumber);
564+
565+
if (!g) {
566+
return;
567+
}
568+
569+
int prev_peer_index = peer_in_chat(g, real_pk);
570+
571+
if (prev_peer_index >= 0) {
572+
delpeer(g_c, groupnumber, prev_peer_index, userdata, false);
573+
}
574+
575+
int prev_frozen_index = frozen_in_chat(g, real_pk);
576+
577+
if (prev_frozen_index >= 0) {
578+
delete_frozen(g, prev_frozen_index);
579+
}
580+
}
581+
561582
/* Add a peer to the group chat, or update an existing peer.
562583
*
563584
* fresh indicates whether we should consider this information on the peer to
@@ -610,17 +631,7 @@ static int addpeer(Group_Chats *g_c, uint32_t groupnumber, const uint8_t *real_p
610631
}
611632
}
612633

613-
int prev_peer_index = peer_in_chat(g, real_pk);
614-
615-
if (prev_peer_index >= 0) {
616-
delpeer(g_c, groupnumber, prev_peer_index, userdata, false);
617-
}
618-
619-
int prev_frozen_index = frozen_in_chat(g, real_pk);
620-
621-
if (prev_frozen_index >= 0) {
622-
delete_frozen(g, prev_frozen_index);
623-
}
634+
delete_any_peer_with_pk(g_c, groupnumber, real_pk, userdata);
624635

625636
Group_Peer *temp = (Group_Peer *)realloc(g->group, sizeof(Group_Peer) * (g->numpeers + 1));
626637

0 commit comments

Comments
 (0)