Return-Path: Mailing-List: contact cvs-help@apr.apache.org; run by ezmlm Delivered-To: mailing list cvs@apr.apache.org Received: (qmail 51718 invoked by uid 500); 9 Feb 2001 11:03:44 -0000 Delivered-To: apmail-apr-util-cvs@apache.org Received: (qmail 51688 invoked by uid 1094); 9 Feb 2001 11:03:41 -0000 Date: 9 Feb 2001 11:03:41 -0000 Message-ID: <20010209110341.51687.qmail@apache.org> From: gstein@apache.org To: apr-util-cvs@apache.org Subject: cvs commit: apr-util/buckets apr_brigade.c gstein 01/02/09 03:03:40 Modified: include apr_buckets.h buckets apr_brigade.c Log: *) namespace protect the "brigade_flush" type *) remove code dup by implementing apr_brigade_putc() in terms of _write() Revision Changes Path 1.71 +27 -15 apr-util/include/apr_buckets.h Index: apr_buckets.h =================================================================== RCS file: /home/cvs/apr-util/include/apr_buckets.h,v retrieving revision 1.70 retrieving revision 1.71 diff -u -u -r1.70 -r1.71 --- apr_buckets.h 2001/02/09 06:19:44 1.70 +++ apr_buckets.h 2001/02/09 11:03:34 1.71 @@ -250,7 +250,7 @@ APR_RING_HEAD(apr_bucket_list, apr_bucket) list; }; -typedef apr_status_t (*brigade_flush)(apr_bucket_brigade *bb, void *ctx); +typedef apr_status_t (*apr_brigade_flush)(apr_bucket_brigade *bb, void *ctx); /** * Wrappers around the RING macros to reduce the verbosity of the code @@ -637,45 +637,55 @@ * @param b The bucket brigade to add to * @param va A list of strings to add * @return The number of bytes added to the brigade - * @deffunc int apr_brigade_vputstrs(apr_bucket_brigade *b, brigade_flush flush, void *ctx, va_list va) + * @deffunc int apr_brigade_vputstrs(apr_bucket_brigade *b, apr_brigade_flush flush, void *ctx, va_list va) */ -APU_DECLARE(int) apr_brigade_vputstrs(apr_bucket_brigade *b, brigade_flush flush, void *ctx, va_list va); +APU_DECLARE(int) apr_brigade_vputstrs(apr_bucket_brigade *b, + apr_brigade_flush flush, void *ctx, + va_list va); /** * This function writes an string into a bucket brigade. * @param b The bucket brigade to add to * @param str The string to add * @return The number of bytes added to the brigade - * @deffunc int apr_brigade_write(ap_bucket_brigade *b, brigade_flush flush, void *ctx, const char *str) + * @deffunc int apr_brigade_write(ap_bucket_brigade *b, apr_brigade_flush flush, void *ctx, const char *str, apr_size_t nbyte) */ -APU_DECLARE(int) apr_brigade_write(apr_bucket_brigade *b, brigade_flush flush, void *ctx, const char *str, apr_size_t nbyte); +APU_DECLARE(int) apr_brigade_write(apr_bucket_brigade *b, + apr_brigade_flush flush, void *ctx, + const char *str, apr_size_t nbyte); /** * This function writes an string into a bucket brigade. * @param b The bucket brigade to add to * @param str The string to add * @return The number of bytes added to the brigade - * @deffunc int apr_brigade_puts(ap_bucket_brigade *b, brigade_flush flush, void *ctx, const char *str) + * @deffunc int apr_brigade_puts(ap_bucket_brigade *b, apr_brigade_flush flush, void *ctx, const char *str) */ -APU_DECLARE(int) apr_brigade_puts(apr_bucket_brigade *b, brigade_flush flush, void *ctx, const char *str); +APU_DECLARE(int) apr_brigade_puts(apr_bucket_brigade *b, + apr_brigade_flush flush, void *ctx, + const char *str); /** * This function writes a character into a bucket brigade. * @param b The bucket brigade to add to * @param c The character to add * @return The number of bytes added to the brigade - * @deffunc int apr_brigade_putc(apr_bucket_brigade *b, brigade_flush flush, void *ctx, const char c) + * @deffunc int apr_brigade_putc(apr_bucket_brigade *b, apr_brigade_flush flush, void *ctx, const char c) */ -APU_DECLARE(int) apr_brigade_putc(apr_bucket_brigade *b, brigade_flush flush, void *ctx, const char c); +APU_DECLARE(int) apr_brigade_putc(apr_bucket_brigade *b, + apr_brigade_flush flush, void *ctx, + const char c); /** * This function writes an unspecified number of strings into a bucket brigade. * @param b The bucket brigade to add to * @param ... The strings to add * @return The number of bytes added to the brigade - * @deffunc int apr_brigade_putstrs(apr_bucket_brigade *b, brigade_flush flush, void *ctx, ...) + * @deffunc int apr_brigade_putstrs(apr_bucket_brigade *b, apr_brigade_flush flush, void *ctx, ...) */ -APU_DECLARE_NONSTD(int) apr_brigade_putstrs(apr_bucket_brigade *b, brigade_flush flush, void *ctx, ...); +APU_DECLARE_NONSTD(int) apr_brigade_putstrs(apr_bucket_brigade *b, + apr_brigade_flush flush, + void *ctx, ...); /** * Evaluate a printf and put the resulting string at the end @@ -684,10 +694,11 @@ * @param fmt The format of the string to write * @param ... The arguments to fill out the format * @return The number of bytes added to the brigade - * @deffunc int apr_brigade_printf(apr_bucket_brigade *b, brigade_flush flush, void *ctx, const char *fmt, ...) + * @deffunc int apr_brigade_printf(apr_bucket_brigade *b, apr_brigade_flush flush, void *ctx, const char *fmt, ...) */ APU_DECLARE_NONSTD(int) apr_brigade_printf(apr_bucket_brigade *b, - brigade_flush flush, void *ctx, const char *fmt, ...); + apr_brigade_flush flush, void *ctx, + const char *fmt, ...); /** * Evaluate a printf and put the resulting string at the end @@ -696,10 +707,11 @@ * @param fmt The format of the string to write * @param va The arguments to fill out the format * @return The number of bytes added to the brigade - * @deffunc int apr_brigade_vprintf(apr_bucket_brigade *b, brigade_flush flush, void *ctx, const char *fmt, va_list va) + * @deffunc int apr_brigade_vprintf(apr_bucket_brigade *b, apr_brigade_flush flush, void *ctx, const char *fmt, va_list va) */ APU_DECLARE(int) apr_brigade_vprintf(apr_bucket_brigade *b, - brigade_flush flush, void *ctx, const char *fmt, va_list va); + apr_brigade_flush flush, void *ctx, + const char *fmt, va_list va); /* ***** Bucket Functions ***** */ 1.6 +15 -48 apr-util/buckets/apr_brigade.c Index: apr_brigade.c =================================================================== RCS file: /home/cvs/apr-util/buckets/apr_brigade.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -u -r1.5 -r1.6 --- apr_brigade.c 2001/02/09 06:19:43 1.5 +++ apr_brigade.c 2001/02/09 11:03:37 1.6 @@ -187,7 +187,7 @@ static int check_brigade_flush(const char **str, apr_size_t *n, apr_bucket_brigade *bb, - brigade_flush flush) + apr_brigade_flush flush) { apr_bucket *b = APR_BRIGADE_LAST(bb); @@ -228,10 +228,8 @@ } APU_DECLARE(int) apr_brigade_vputstrs(apr_bucket_brigade *b, - brigade_flush flush, void *ctx, + apr_brigade_flush flush, void *ctx, va_list va) - - { const char *x; int j, k; @@ -247,48 +245,15 @@ return k; } -APU_DECLARE(int) apr_brigade_putc(apr_bucket_brigade *b, brigade_flush flush, - void *ctx, const char c) +APU_DECLARE(int) apr_brigade_putc(apr_bucket_brigade *b, + apr_brigade_flush flush, void *ctx, + const char c) { - apr_size_t nbyte = 1; - const char *str = &c; - - if (check_brigade_flush(&str, &nbyte, b, flush)) { - if (flush) { - return flush(b, ctx); - } - } - else { - apr_bucket *buck = APR_BRIGADE_LAST(b); - apr_bucket_shared *s; - apr_bucket_heap *h; - char *buf; - - if (!APR_BUCKET_IS_HEAP(buck) || APR_BRIGADE_EMPTY(b)) { - buf = malloc(APR_BUCKET_BUFF_SIZE); - - buck = apr_bucket_heap_create(buf, APR_BUCKET_BUFF_SIZE, 0, NULL); - s = buck->data; - s->start = s->end = 0; - h = s->data; - - APR_BRIGADE_INSERT_TAIL(b, buck); - } - else { - s = buck->data; - h = s->data; - - buf = h->base + s->end; - } - memcpy(buf, &c, 1); - s->end++; - } - - return 1; + return apr_brigade_write(b, flush, ctx, &c, 1); } APU_DECLARE(int) apr_brigade_write(apr_bucket_brigade *b, - brigade_flush flush, void *ctx, + apr_brigade_flush flush, void *ctx, const char *str, apr_size_t nbyte) { if (check_brigade_flush(&str, &nbyte, b, flush)) { @@ -325,14 +290,16 @@ return nbyte; } -APU_DECLARE(int) apr_brigade_puts(apr_bucket_brigade *b, brigade_flush flush, - void *ctx, const char *str) +APU_DECLARE(int) apr_brigade_puts(apr_bucket_brigade *b, + apr_brigade_flush flush, void *ctx, + const char *str) { return apr_brigade_write(b, flush, ctx, str, strlen(str)); } APU_DECLARE_NONSTD(int) apr_brigade_putstrs(apr_bucket_brigade *b, - brigade_flush flush, void *ctx, ...) + apr_brigade_flush flush, + void *ctx, ...) { va_list va; int written; @@ -344,7 +311,7 @@ } APU_DECLARE_NONSTD(int) apr_brigade_printf(apr_bucket_brigade *b, - brigade_flush flush, void *ctx, + apr_brigade_flush flush, void *ctx, const char *fmt, ...) { va_list ap; @@ -357,7 +324,7 @@ } APU_DECLARE(int) apr_brigade_vprintf(apr_bucket_brigade *b, - brigade_flush flush, void *ctx, + apr_brigade_flush flush, void *ctx, const char *fmt, va_list va) { /* XXX: This needs to be replaced with a function to printf @@ -365,7 +332,7 @@ */ char buf[4096]; - apr_vsnprintf(buf, 4096, fmt, va); + apr_vsnprintf(buf, sizeof(buf), fmt, va); return apr_brigade_puts(b, flush, ctx, buf); }