]> granicus.if.org Git - apache/commitdiff
ap_save_brigade() can fail, so report what happened via an apr_status_t
authorJeff Trawick <trawick@apache.org>
Fri, 29 Dec 2000 13:56:30 +0000 (13:56 +0000)
committerJeff Trawick <trawick@apache.org>
Fri, 29 Dec 2000 13:56:30 +0000 (13:56 +0000)
return code.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87548 13f79535-47bb-0310-9956-ffa450edef68

include/util_filter.h
server/util_filter.c

index bc662a43c7dabce8cf26334f49ca1c3cfb1c3f5f..cfd82ce50b79685f943f51469dd44cd86d914cbc 100644 (file)
@@ -399,10 +399,10 @@ AP_DECLARE(void) ap_remove_output_filter(ap_filter_t *f);
  *             new bucket brigade is returned in this location.
  * @param b The bucket brigade to save aside.  This brigade is always empty
  *          on return
- * @deffunc void ap_save_brigade(ap_filter_t *f, ap_bucket_brigade **save_to, ap_bucket_brigade **b)
+ * @deffunc apr_status_t ap_save_brigade(ap_filter_t *f, ap_bucket_brigade **save_to, ap_bucket_brigade **b)
  */
-AP_DECLARE(void) ap_save_brigade(ap_filter_t *f, ap_bucket_brigade **save_to,
-                                        ap_bucket_brigade **b);    
+AP_DECLARE(apr_status_t) ap_save_brigade(ap_filter_t *f, ap_bucket_brigade **save_to,
+                                         ap_bucket_brigade **b);    
 
 #ifdef __cplusplus
 }
index 06621e334814be811e0b9e386741c75d382c0c55..e676e88a569069462ad7df33d6873bda43ea41ed 100644 (file)
@@ -242,11 +242,12 @@ AP_DECLARE(apr_status_t) ap_pass_brigade(ap_filter_t *next, ap_bucket_brigade *b
     return AP_NOBODY_WROTE;
 }
 
-AP_DECLARE(void) ap_save_brigade(ap_filter_t *f, ap_bucket_brigade **saveto,
-                                        ap_bucket_brigade **b)
+AP_DECLARE(apr_status_t) ap_save_brigade(ap_filter_t *f, ap_bucket_brigade **saveto,
+                                         ap_bucket_brigade **b)
 {
     ap_bucket *e;
     apr_pool_t *p = f->r ? f->r->pool : f->c->pool;
+    apr_status_t rv;
 
     /* If have never stored any data in the filter, then we had better
      * create an empty bucket brigade so that we can concat.
@@ -256,7 +257,11 @@ AP_DECLARE(void) ap_save_brigade(ap_filter_t *f, ap_bucket_brigade **saveto,
     }
     
     AP_RING_FOREACH(e, &(*b)->list, ap_bucket, link) {
-        ap_bucket_setaside(e);
+        rv = ap_bucket_setaside(e);
+        if (rv != APR_SUCCESS && rv != APR_ENOTIMPL) {
+            return rv;
+        }
     }
     AP_BRIGADE_CONCAT(*saveto, *b);
+    return APR_SUCCESS;
 }