From 006d343a71fd352ef97ea967d11f095f274e51b7 Mon Sep 17 00:00:00 2001 From: Ryan Bloom Date: Wed, 4 Oct 2000 19:00:36 +0000 Subject: [PATCH] Fix a small typo that was keeping us from copying os-inline.c to the include directory git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86387 13f79535-47bb-0310-9956-ffa450edef68 --- Makefile.in | 2 +- modules/http/http_protocol.c | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Makefile.in b/Makefile.in index 2f0126adac..6fb9430e2d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -92,7 +92,7 @@ install-include: @test -d $(includedir)/apr || $(MKINSTALLDIRS) $(includedir)/apr @cp -p include/*.h $(srcdir)/include/*.h $(includedir) @cp -p $(srcdir)/os/$(OS_DIR)/os.h $(includedir) - @if test -f $(srcdir)/os/$OSDIR/os-inline.c; then \ + @if test -f $(srcdir)/os/$(OS_DIR)/os-inline.c; then \ cp -p $(srcdir)/os/$(OS_DIR)/os-inline.c $(includedir); \ fi; @cp -p $(srcdir)/modules/dav/main/mod_dav.h $(includedir) diff --git a/modules/http/http_protocol.c b/modules/http/http_protocol.c index 2e6b6feafb..e1c61d4039 100644 --- a/modules/http/http_protocol.c +++ b/modules/http/http_protocol.c @@ -2362,8 +2362,22 @@ API_EXPORT(long) ap_get_client_block(request_rec *r, char *buffer, int bufsiz) apr_status_t rv; if (!r->read_chunked) { /* Content-length read */ + ap_bucket *b; + const char *tempbuf; + len_to_read = (r->remaining > bufsiz) ? bufsiz : r->remaining; - rv = ap_bread(r->connection->client, buffer, len_to_read, &len_read); + if (AP_BRIGADE_EMPTY(r->connection->input_data)) { + ap_get_brigade(r->connection->input_filters, r->connection->input_data); + } + b = AP_BRIGADE_FIRST(r->connection->input_data); + len_read = len_to_read; + rv = b->read(b, &tempbuf, &len_read, 0); + if (len_read < b->length) { + b->split(b, len_read); + } + memcpy(buffer, tempbuf, len_read); + AP_BUCKET_REMOVE(b); + b->destroy(b); if (len_read == 0) { /* error or eof */ if (rv != APR_SUCCESS) { r->connection->keepalive = -1; -- 2.50.1