From c83e033d4c1981c1f929ed656d757b40a5a96885 Mon Sep 17 00:00:00 2001 From: Test_User Date: Thu, 5 Sep 2024 03:48:11 -0400 Subject: Convert to non-UB haxtable stuff --- pseudoclients.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'pseudoclients.c') diff --git a/pseudoclients.c b/pseudoclients.c index 3ace6db..206aae2 100644 --- a/pseudoclients.c +++ b/pseudoclients.c @@ -76,20 +76,21 @@ int init_pseudoclients(void) { } void pseudoclients_handle_privmsg(struct string from, struct string sender, struct string target, struct string msg) { - struct user_info *user = get_table_index(user_list, target); + char exists; + struct user_info *user = get_table_index(user_list, target, &exists).data; - if (user) { + if (exists) { if (user->is_pseudoclient) { pseudoclients[user->pseudoclient].handle_privmsg(from, sender, target, msg); } else { return; } - } else if (!user && !has_table_index(server_list, target)) { - struct channel_info *channel = get_table_index(channel_list, target); - if (channel) { + } else if (!exists && !has_table_index(server_list, target)) { + struct channel_info *channel = get_table_index(channel_list, target, &exists).data; + if (exists) { char send_to[NUM_PSEUDOCLIENTS] = {0}; for (size_t i = 0; i < channel->user_list.len; i++) { - struct user_info *user = channel->user_list.array[i].ptr; + struct user_info *user = channel->user_list.array[i].ptr.data; if (user->is_pseudoclient && !STRING_EQ(user->uid, sender)) send_to[user->pseudoclient] = 1; } -- cgit v1.2.3