diff --git a/src/IO/http.cc b/src/IO/http.cc index 3d322a4..a3158a6 100644 --- a/src/IO/http.cc +++ b/src/IO/http.cc @@ -1068,26 +1068,23 @@ static void Http_socket_enqueue(Server_t *srv, SocketData_t* sock) static Server_t *Http_server_get(const char *host, uint_t port, bool https) { - int i; - Server_t *srv; - - for (i = 0; i < servers.size(); i++) { - srv = servers.at( i ); + for (int i = 0; i < servers.size(); i++) { + auto srv = servers.at( i ); if (port == srv->port && https == srv->https && !dStrAsciiCasecmp(host, srv->host)) return srv; } - srv = dNew0(Server_t, 1); + auto srv = std::make_unique< Server_t >(); srv->queue = dList_new(10); srv->running_the_queue = 0; srv->host = dStrdup(host); srv->port = port; srv->https = https; - servers.push_back( srv ); + servers.push_back( srv.get() ); - return srv; + return srv.release(); } static void Http_server_remove(Server_t *srv) @@ -1113,7 +1110,7 @@ static void Http_servers_remove_all(void) srv = servers.at( 0 ); while ((sd = reinterpret_cast< SocketData_t * >( dList_nth_data(srv->queue, 0) ))) { dList_remove(srv->queue, sd); - dFree(sd); + delete sd; } Http_server_remove(srv); }