From 63a1fa96ccbe7a7099de721f5b72a4cbc43be8d4 Mon Sep 17 00:00:00 2001 From: Robert James Kaes Date: Wed, 19 Dec 2001 20:40:23 +0000 Subject: Removed duplicate code from process_server_headers() and removed the calls to strlen(); readline() already returns the length of the string, so use that instead. --- src/reqs.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/reqs.c b/src/reqs.c index e1b18f0..edf60e4 100644 --- a/src/reqs.c +++ b/src/reqs.c @@ -1,4 +1,4 @@ -/* $Id: reqs.c,v 1.48 2001-12-19 05:20:01 rjkaes Exp $ +/* $Id: reqs.c,v 1.49 2001-12-19 20:40:23 rjkaes Exp $ * * This is where all the work in tinyproxy is actually done. Incoming * connections have a new thread created for them. The thread then @@ -702,28 +702,25 @@ static int process_server_headers(struct conn_s *connptr) { char *header; + ssize_t len; - for (;;) { - if (readline(connptr->server_fd, &header) <= 0) { + while (1) { + if ((len = readline(connptr->server_fd, &header)) <= 0) { DEBUG2("Server (file descriptor %d) closed connection.", connptr->server_fd); return -1; } - if (header[0] == '\n' - || (header[0] == '\r' && header[1] == '\n')) { - break; - } - - if (safe_write(connptr->client_fd, header, strlen(header)) < 0) { + if (safe_write(connptr->client_fd, header, len) < 0) { safefree(header); return -1; } - } - if (safe_write(connptr->client_fd, header, strlen(header)) < 0) { + if (header[0] == '\n' + || (header[0] == '\r' && header[1] == '\n')) + break; + safefree(header); - return -1; } safefree(header); -- cgit v1.2.3