mirror of
https://github.com/apache/httpd.git
synced 2025-11-05 05:30:39 +03:00
The ap_f* functions should flush data to the filter that is passed in,
not to the filter after the one passed in. The fixes a bug, where one filter is skipped when using ap_f*. Submitted by: Ryan Morgan <rmorgan@covalent.net> git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88832 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -279,7 +279,7 @@ AP_DECLARE(apr_status_t) ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb)
|
||||
|
||||
b = apr_bucket_flush_create();
|
||||
APR_BRIGADE_INSERT_TAIL(bb, b);
|
||||
return ap_pass_brigade(f->next, bb);
|
||||
return ap_pass_brigade(f, bb);
|
||||
}
|
||||
|
||||
AP_DECLARE_NONSTD(int) ap_fputstrs(ap_filter_t *f, apr_bucket_brigade *bb, ...)
|
||||
@@ -288,7 +288,7 @@ AP_DECLARE_NONSTD(int) ap_fputstrs(ap_filter_t *f, apr_bucket_brigade *bb, ...)
|
||||
int res;
|
||||
|
||||
va_start(args, bb);
|
||||
res = apr_brigade_vputstrs(bb, ap_filter_flush, f->next, args);
|
||||
res = apr_brigade_vputstrs(bb, ap_filter_flush, f, args);
|
||||
va_end(args);
|
||||
return res;
|
||||
}
|
||||
@@ -298,7 +298,7 @@ AP_DECLARE_NONSTD(int) ap_fprintf(ap_filter_t *f, apr_bucket_brigade *bb, const
|
||||
int res;
|
||||
|
||||
va_start(args, fmt);
|
||||
res = apr_brigade_vprintf(bb, ap_filter_flush, f->next, fmt, args);
|
||||
res = apr_brigade_vprintf(bb, ap_filter_flush, f, fmt, args);
|
||||
va_end(args);
|
||||
return res;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user