rbb 01/08/08 08:40:35
Modified: buckets apr_brigade.c
include apr_buckets.h
Log:
Change the prototype for apr_brigade_partition. This basically allows
the caller some level of control over how buckets are read. If the
bucket has a -1 length, then we use the mode that is passed in to determine
if we should do a blocking or non-blocking read.
Revision Changes Path
1.20 +4 -3 apr-util/buckets/apr_brigade.c
Index: apr_brigade.c
===================================================================
RCS file: /home/cvs/apr-util/buckets/apr_brigade.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- apr_brigade.c 2001/07/24 20:36:03 1.19
+++ apr_brigade.c 2001/08/08 15:40:35 1.20
@@ -129,7 +129,8 @@
APU_DECLARE(apr_status_t) apr_brigade_partition(apr_bucket_brigade *b,
apr_off_t point,
- apr_bucket **after_point)
+ apr_bucket **after_point,
+ apr_read_type_e block)
{
apr_bucket *e;
const char *s;
@@ -149,7 +150,7 @@
if ((point > (apr_size_t)(-1)) && (e->length == (apr_size_t)(-1))) {
/* XXX: point is too far out to simply split this bucket,
* we must fix this bucket's size and keep going... */
- if ((rv = apr_bucket_read(e, &s, &len, APR_BLOCK_READ))
+ if ((rv = apr_bucket_read(e, &s, &len, block))
!= APR_SUCCESS) {
return rv;
}
@@ -166,7 +167,7 @@
/* if the bucket cannot be split, we must read from it,
* changing its type to one that can be split */
- if ((rv = apr_bucket_read(e, &s, &len, APR_BLOCK_READ))
+ if ((rv = apr_bucket_read(e, &s, &len, block))
!= APR_SUCCESS) {
return rv;
}
1.106 +2 -1 apr-util/include/apr_buckets.h
Index: apr_buckets.h
===================================================================
RCS file: /home/cvs/apr-util/include/apr_buckets.h,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -r1.105 -r1.106
--- apr_buckets.h 2001/08/08 05:58:15 1.105
+++ apr_buckets.h 2001/08/08 15:40:35 1.106
@@ -652,7 +652,8 @@
*/
APU_DECLARE(apr_status_t) apr_brigade_partition(apr_bucket_brigade *b,
apr_off_t point,
- apr_bucket **after_point);
+ apr_bucket **after_point,
+ apr_read_type_e block);
#if APR_NOT_DONE_YET
/**