diff --git a/server.c b/server.c index 04dedb8..f34bfbf 100644 --- a/server.c +++ b/server.c @@ -53,7 +53,10 @@ int server_start(conn_handler handler, int16_t port) { } else { for(ret = 0; 0 == ret;) { bzero(buffer, MAX_BUFSIZE); - len = read(clientfd, buffer, sizeof(buffer)); + len = 0; + while(buffer[len-1] != '\n') { + len += read(clientfd, &buffer[len], sizeof(buffer)-len); + } if (0 > len) { printf("server_start: cannot read from socket\n"); ret = -1;