From 83eac5405da4cbed51d1ea51baa4c3a1f19ab333 Mon Sep 17 00:00:00 2001 From: Michael Preisach Date: Thu, 16 Sep 2021 13:27:14 +0000 Subject: [PATCH] fixing connection handling when client closed connection --- server.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/server.c b/server.c index f34bfbf..8d47e7f 100644 --- a/server.c +++ b/server.c @@ -54,8 +54,9 @@ int server_start(conn_handler handler, int16_t port) { for(ret = 0; 0 == ret;) { bzero(buffer, MAX_BUFSIZE); len = 0; - while(buffer[len-1] != '\n') { - len += read(clientfd, &buffer[len], sizeof(buffer)-len); + for(int i = 0; 0 < i && buffer[len-1] != '\n';) { + i = read(clientfd, &buffer[len], sizeof(buffer)-len); + len += i; } if (0 > len) { printf("server_start: cannot read from socket\n");