Commit e0fd63ec authored by Max Kellermann's avatar Max Kellermann

moved code to sockaddr_to_tmp_string()

Unclutter the client_new() constructor by moving unrelated complex code into a separate function.
parent 34735fab
...@@ -248,16 +248,10 @@ static void client_close(struct client *client) ...@@ -248,16 +248,10 @@ static void client_close(struct client *client)
free(client); free(client);
} }
void client_new(int fd, const struct sockaddr *addr) static const char *
sockaddr_to_tmp_string(const struct sockaddr *addr)
{ {
const char *hostname; const char *hostname;
struct client *client;
if (num_clients >= client_max_connections) {
ERROR("Max Connections Reached!\n");
xclose(fd);
return;
}
switch (addr->sa_family) { switch (addr->sa_family) {
#ifdef HAVE_TCP #ifdef HAVE_TCP
...@@ -293,11 +287,25 @@ void client_new(int fd, const struct sockaddr *addr) ...@@ -293,11 +287,25 @@ void client_new(int fd, const struct sockaddr *addr)
hostname = "unknown"; hostname = "unknown";
} }
return hostname;
}
void client_new(int fd, const struct sockaddr *addr)
{
struct client *client;
if (num_clients >= client_max_connections) {
ERROR("Max Connections Reached!\n");
xclose(fd);
return;
}
client = xcalloc(1, sizeof(*client)); client = xcalloc(1, sizeof(*client));
list_add(&client->siblings, &clients); list_add(&client->siblings, &clients);
++num_clients; ++num_clients;
client_init(client, fd); client_init(client, fd);
SECURE("client %i: opened from %s\n", client->num, hostname); SECURE("client %i: opened from %s\n", client->num,
sockaddr_to_tmp_string(addr));
} }
static int client_process_line(struct client *client) static int client_process_line(struct client *client)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment