diff options
author | Greg Stein <gstein@apache.org> | 2001-05-05 13:18:01 +0200 |
---|---|---|
committer | Greg Stein <gstein@apache.org> | 2001-05-05 13:18:01 +0200 |
commit | 5cba6d73451776b74be01f400b9d06ef7089ebc0 (patch) | |
tree | 713092ebac49f89de781129086d7dab5a467f5f3 /modules/experimental/mod_charset_lite.c | |
parent | clarify the use of some of the members of the dav_provider structure. (diff) | |
download | apache2-5cba6d73451776b74be01f400b9d06ef7089ebc0.tar.xz apache2-5cba6d73451776b74be01f400b9d06ef7089ebc0.zip |
Fix a bug in the input handling. ap_http_filter() was modifying *readbytes
which corresponded to r->remaining (in ap_get_client_block). However,
ap_get_client_block was *also* adjusting r->remaining. Net result was that
PUT (and probably POST) was broken. (at least on large inputs)
To fix it, I simply removed the indirection on "readbytes" for input
filters. There is no reason for them to return data (the brigade length is
the return length). This also simplifies a number of calls where people
needed to do &zero just to pass zero.
I also added a number of comments about operations and where things could be
improved, or are (semi) broken.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89008 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/experimental/mod_charset_lite.c')
-rw-r--r-- | modules/experimental/mod_charset_lite.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/modules/experimental/mod_charset_lite.c b/modules/experimental/mod_charset_lite.c index 79830eed08..190ec1b4d3 100644 --- a/modules/experimental/mod_charset_lite.c +++ b/modules/experimental/mod_charset_lite.c @@ -1005,7 +1005,7 @@ static void transfer_brigade(apr_bucket_brigade *in, apr_bucket_brigade *out) } static int xlate_in_filter(ap_filter_t *f, apr_bucket_brigade *bb, - ap_input_mode_t mode, apr_size_t *readbytes) + ap_input_mode_t mode, apr_size_t readbytes) { apr_status_t rv; charset_req_t *reqinfo = ap_get_module_config(f->r->request_config, |