summaryrefslogtreecommitdiff
path: root/src/http_chunk.c
diff options
context:
space:
mode:
authorGlenn Strauss <gstrauss@gluelogic.com>2019-04-29 20:18:52 -0400
committerGlenn Strauss <gstrauss@gluelogic.com>2019-05-04 13:48:22 -0400
commit470a692211a31627095fd2db1924df961139388c (patch)
treebc29ee37ca8081c6e2495a3d78ef0e198cff7b34 /src/http_chunk.c
parent8f0adfe0439b93263f8312f55a8060a6822e8bdc (diff)
downloadlighttpd-git-470a692211a31627095fd2db1924df961139388c.tar.gz
[core] http_chunk_append_file_fd()
Diffstat (limited to 'src/http_chunk.c')
-rw-r--r--src/http_chunk.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/http_chunk.c b/src/http_chunk.c
index e8717756..302e94b3 100644
--- a/src/http_chunk.c
+++ b/src/http_chunk.c
@@ -81,13 +81,16 @@ int http_chunk_append_file(server *srv, connection *con, buffer *fn) {
struct stat st;
const int fd = http_chunk_append_file_open_fstat(srv, con, fn, &st);
if (fd < 0) return -1;
+ http_chunk_append_file_fd(srv, con, fn, fd, st.st_size);
+ return 0;
+}
- if (0 != st.st_size) {
- http_chunk_append_file_fd_range(srv, con, fn, fd, 0, st.st_size);
+void http_chunk_append_file_fd(server *srv, connection *con, buffer *fn, int fd, off_t sz) {
+ if (0 != sz) {
+ http_chunk_append_file_fd_range(srv, con, fn, fd, 0, sz);
} else {
close(fd);
}
- return 0;
}
static int http_chunk_append_to_tempfile(server *srv, connection *con, const char * mem, size_t len) {