]> PatchyGit - patchyircd.git/commitdiff
irc: more match macros
authorEgor <egor@patchysicp.xyz>
Sun, 15 Jun 2025 09:36:00 +0000 (12:36 +0300)
committerEgor <egor@patchysicp.xyz>
Sun, 15 Jun 2025 09:36:00 +0000 (12:36 +0300)
src/irc.cpp

index d723f71..dea4e3b 100644 (file)
@@ -236,12 +236,16 @@ static void cont_pass(Client *client, int res) {
                newUser(client);
        }
 }
+#define MATCH_BEGIN if (0)
 #define MATCH_COMMAND(s) else if (command == s##sv)
+#define MATCH_ELSE else
+#define MATCH_END
 int irc_process_line(Client *client, char *source, std::string_view command, int argc, char *args[]) {
        (void)source;
        databuf.clear();
-       if (command.empty()) {
+       if (command.empty())
                return 0;
+       MATCH_BEGIN {
        } MATCH_COMMAND("PING") {
                if (!args[0])
                        return err_needmoreparams(client, command), sendbuf(client), 0;
@@ -1209,10 +1213,10 @@ privmsg_notice_common:
                        return err_needmoreparams(client, command), sendbuf(client), 0;
                return admin_command(client, source, args[0], argc-1, args+1);
 #endif
-       } else {
+       } MATCH_ELSE {
 unknown:
                err_unknowncommand(client, command), sendbuf(client);
-       }
+       } MATCH_END
        return 0;
 }