]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
The ap_f* functions should flush data to the filter that is passed in,
authorRyan Bloom <rbb@apache.org>
Thu, 12 Apr 2001 20:06:50 +0000 (20:06 +0000)
committerRyan Bloom <rbb@apache.org>
Thu, 12 Apr 2001 20:06:50 +0000 (20:06 +0000)
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

CHANGES
include/util_filter.h
server/util_filter.c

diff --git a/CHANGES b/CHANGES
index 1d89130149038abb4c90d8184acb64c18cd1b5f4..f38a6f39632d9e1c1702f0d05fe0c9e21cb29e21 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,9 @@
 Changes with Apache 2.0.17-dev
 
+  *) The ap_f* functions should flush data to the filter that is passed
+     in, not the the filter after the one passed in.
+     [Ryan Morgan <rmorgan@covalent.net>]
+
   *) Make ab work again by changing its native types to apr types and formats.
      [Justin Erenkrantz <jerenkrantz@ebuilt.com>]
 
index 1e1f4ab369c21800e847932d6e949f0dd8f6cf89..4784f8af978d0ee963de524957b5f12d5b101196 100644 (file)
@@ -402,7 +402,7 @@ AP_DECLARE(apr_status_t) ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb);
  * @param nbyte The number of bytes in the data
  */
 #define ap_fwrite(f, bb, data, nbyte) \
-       apr_brigade_write(bb, ap_filter_flush, (f)->next, data, nbyte)
+       apr_brigade_write(bb, ap_filter_flush, f, data, nbyte)
 
 /**
  * Write a buffer for the current filter, buffering if possible.
@@ -411,7 +411,7 @@ AP_DECLARE(apr_status_t) ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb);
  * @param str The string to write
  */
 #define ap_fputs(f, bb, str) \
-       apr_brigade_puts(bb, ap_filter_flush, (f)->next, str)
+       apr_brigade_puts(bb, ap_filter_flush, f, str)
 
 /**
  * Write a character for the current filter, buffering if possible.
@@ -420,7 +420,7 @@ AP_DECLARE(apr_status_t) ap_fflush(ap_filter_t *f, apr_bucket_brigade *bb);
  * @param c The character to write
  */
 #define ap_fputc(f, bb, c) \
-       apr_brigade_putc(bb, ap_filter_flush, (f)->next, c)
+       apr_brigade_putc(bb, ap_filter_flush, f, c)
 
 /**
  * Write an unspecified number of strings to the current filter
index a7a51922e9ae9118984724097d654d47c3f21743..381cf03b5195ac03d611101bb9da3715c7f06b5a 100644 (file)
@@ -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;
 }