From 7e7124ee118b26c6ec80c9a0d00043e8ddcec51b Mon Sep 17 00:00:00 2001 From: Ajurna Date: Wed, 30 Jul 2025 18:58:21 +0100 Subject: [PATCH] server03 passed --- server03.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/server03.c b/server03.c index 0e05209..78042a4 100644 --- a/server03.c +++ b/server03.c @@ -45,7 +45,7 @@ void *handle_connection(void *args) { status_t status = CONNECTED; char *message = malloc(sizeof(char)*1024); char_array_t *data = char_array_create(1024); - send(handleArgs->client, WELCOME, sizeof(WELCOME), 0); + send(handleArgs->client, WELCOME, sizeof(WELCOME)-1, 0); char *username = malloc(sizeof(char)*1024); while ((bytesReceived = recv(handleArgs->client, buffer, sizeof(buffer), 0)) > 0) { printf("{%d} Client sent: |%d| \n", handleArgs->connection, bytesReceived); @@ -102,8 +102,10 @@ void *handle_connection(void *args) { memset(buffer, 0, sizeof(buffer)); } - sprintf(message, "* %s has left the room\n", username); - broadcast(handleArgs->connections, &handleArgs->client, message); + if (status == IDENTIFIED) { + sprintf(message, "* %s has left the room\n", username); + broadcast(handleArgs->connections, &handleArgs->client, message); + } connections_remove(handleArgs->connections, handleArgs->client); printf("{%d} Client disconnected\n", handleArgs->connection);