]> PatchyGit - patchyircd.git/commitdiff
main: fix listeners on clang 14
authorEgor <egor@patchysicp.xyz>
Thu, 12 Jun 2025 22:10:00 +0000 (01:10 +0300)
committerEgor <egor@patchysicp.xyz>
Thu, 12 Jun 2025 22:10:00 +0000 (01:10 +0300)
src/main.cpp

index 0a29d5f..101d3a1 100644 (file)
@@ -24,7 +24,7 @@ static int setsockint(int sockfd, int level, int optname, int optval)
 {
        return setsockopt(sockfd, level, optname, (void *)&optval, sizeof(optval));
 }
-static SOCKET create_listen_sock(const char *ip, const char *port)
+static listener create_listen_sock(const char *ip, const char *port, struct tls *ctx)
 {
        struct addrinfo hints, *res;
        memset(&hints, 0, sizeof(hints));
@@ -67,7 +67,7 @@ static SOCKET create_listen_sock(const char *ip, const char *port)
                net_perror("ERROR LISTEN");
                exit(EXIT_FAILURE);
        }
-       return sock;
+       return listener{sock, ctx};
 }
 
 static void accept_from_sock(struct listener *listener)
@@ -258,7 +258,7 @@ int main(int argc, char *argv[])
                                return fprintf(stderr, "not enough parameters\n"), 1;
                        if (is_tls && !tls_ctx)
                                return fprintf(stderr, "no TLS support\n"), 1;
-                       listeners.emplace_back(create_listen_sock(argv[i+1], argv[i+2]), is_tls ? tls_ctx : nullptr);
+                       listeners.push_back(create_listen_sock(argv[i+1], argv[i+2], is_tls ? tls_ctx : 0));
                        i += 2;
                } else if(!strcmp(argv[i], "--autojoin")) {
                        if (i + 1 >= argc)
@@ -288,11 +288,11 @@ int main(int argc, char *argv[])
        determine_hostname();
 
        if (listeners.empty()) {
-               listeners.emplace_back(create_listen_sock("0", "6667"), nullptr);
-               listeners.emplace_back(create_listen_sock("::", "6667"), nullptr);
+               listeners.push_back(create_listen_sock("0", "6667", 0));
+               listeners.push_back(create_listen_sock("::", "6667", 0));
 #ifdef HAVE_LIBTLS
-               listeners.emplace_back(create_listen_sock("0", "6697"), tls_ctx);
-               listeners.emplace_back(create_listen_sock("::", "6697"), tls_ctx);
+               listeners.push_back(create_listen_sock("0", "6697", tls_ctx));
+               listeners.push_back(create_listen_sock("::", "6697", tls_ctx));
 #endif
        }