From 833f715ec2a6917c0afb4300e6505b135410ec3a Mon Sep 17 00:00:00 2001 From: Test_User Date: Thu, 10 Aug 2023 03:20:10 -0400 Subject: privmsg() now takes an array rather than a single string, more stuff switched from server-only to privmsg() --- server_network.c | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) (limited to 'server_network.c') diff --git a/server_network.c b/server_network.c index 3d69341..342b254 100644 --- a/server_network.c +++ b/server_network.c @@ -620,7 +620,9 @@ int privmsg_handler(struct string sender, uint64_t argc, struct string *argv) { } struct user_info *user = get_table_index(user_list, sender); + struct server_info *server; if (user) { + server = 0; if (argv[0].data[0] == '#') { struct channel_info *channel = get_table_index(channel_list, argv[0]); if (channel && has_table_index(channel->user_list, STRING("1HC000001"))) { @@ -650,7 +652,7 @@ int privmsg_handler(struct string sender, uint64_t argc, struct string *argv) { SENDCLIENT(STRING("\r\n")); } } else { - struct server_info *server = get_table_index(server_list, sender); + server = get_table_index(server_list, sender); if (server) { if (argv[0].data[0] == '#') { struct channel_info *channel = get_table_index(channel_list, argv[0]); @@ -752,24 +754,15 @@ int privmsg_handler(struct string sender, uint64_t argc, struct string *argv) { } } - SEND(STRING(":1HC000000 PRIVMSG ")); - SEND(log_channel); - if (sender.len == 3) { - SEND(STRING(" :Server ")); - SEND(sender); - } else { - struct user_info *user = get_table_index(user_list, sender); - if (user) { - SEND(STRING(" :User ")); - SEND(user->nick); - } else { - SEND(STRING(" :An unknown user (something desycned... this shouldn't happen)")); - } - } + struct string message[] = { + user ? STRING("User ") : (server ? STRING("Server ") : STRING("An unknown user (something desycned... this shouldn't happen)")), + user ? user->nick : (server ? server->address : STRING("")), + STRING(" executes `"), + argv[1], + STRING("'\n"), + }; - SEND(STRING(" executes `")); - SEND(argv[1]); - SEND(STRING("'\n")); + privmsg(STRING("1HC000000"), log_channel, sizeof(message)/sizeof(*message), message); return cmd->func(sender, argv[1], argv[0], command_argc, command_argv); } else { -- cgit v1.2.3