From 394cd4fc015d054459515da881e532d6d0b8f5a8 Mon Sep 17 00:00:00 2001 From: Nicolas Favre-Felix Date: Fri, 22 Jul 2011 12:42:07 +0100 Subject: [PATCH] Bugfix for large outputs --- http.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/http.c b/http.c index 7f831be..22b859a 100644 --- a/http.c +++ b/http.c @@ -137,7 +137,16 @@ http_response_write(struct http_response *r, int fd) { } /* send buffer to client */ - ret = write(fd, s, sz); + p = s; + while(sz) { + ret = write(fd, p, sz); + if(ret <= 0) /* error or closed socket */ + break; + + sz -= ret; + p += ret; + } + /* cleanup buffer */ free(s);