From 79459d08d9897317ba3b526fbf813e0ef2fb96b5 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 17 Oct 2008 23:23:54 +0200 Subject: client: handle partial lines correctly Commit 6eb62e47 didn't obey partial lines correctly: when a line wasn't finished in one read, the first part was ignored when the rest arrived. --- src/client.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/client.c') diff --git a/src/client.c b/src/client.c index f3e2b32a4..bac65bcc0 100644 --- a/src/client.c +++ b/src/client.c @@ -445,12 +445,12 @@ static int client_process_line(struct client *client, char *line) static int client_input_received(struct client *client, int bytesRead) { - char *start = client->buffer + client->bufferLength; - char *end = start + bytesRead; + char *start = client->buffer + client->bufferPos, *end; char *newline, *next; int ret; client->bufferLength += bytesRead; + end = client->buffer + client->bufferLength; /* process all lines */ while ((newline = memchr(start, '\n', end - start)) != NULL) { -- cgit v1.2.3