X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/033be68727df252ee5d69a7e717325cd4e7f8f66..36fb4e9a7743326d1a2ca7601bc9bf1c5b9a0bcb:/libratbox/src/linebuf.c diff --git a/libratbox/src/linebuf.c b/libratbox/src/linebuf.c index a6c05f3..b3d2bb9 100644 --- a/libratbox/src/linebuf.c +++ b/libratbox/src/linebuf.c @@ -21,16 +21,14 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 * USA * - * $Id: linebuf.c 25375 2008-05-16 15:19:51Z androsyn $ + * $Id: linebuf.c 26092 2008-09-19 15:13:52Z androsyn $ */ #include #include #include -#ifndef NOBALLOC static rb_bh *rb_linebuf_heap; -#endif static int bufline_count = 0; @@ -47,20 +45,14 @@ static int bufline_count = 0; void rb_linebuf_init(size_t heap_size) { -#ifndef NOBALLOC rb_linebuf_heap = rb_bh_create(sizeof(buf_line_t), heap_size, "librb_linebuf_heap"); -#endif } static buf_line_t * rb_linebuf_allocate(void) { buf_line_t *t; -#ifndef NOBALLOC t = rb_bh_alloc(rb_linebuf_heap); -#else - t = rb_malloc(sizeof(buf_line_t)); -#endif return (t); } @@ -68,11 +60,7 @@ rb_linebuf_allocate(void) static void rb_linebuf_free(buf_line_t * p) { -#ifndef NOBALLOC rb_bh_free(rb_linebuf_heap, p); -#else - rb_free(p); -#endif } /* @@ -113,7 +101,7 @@ rb_linebuf_new_line(buf_head_t * bufhead) * We've finished with the given line, so deallocate it */ static void -rb_linebuf_done_line(buf_head_t * bufhead, buf_line_t * bufline, rb_dlink_node * node) +rb_linebuf_done_line(buf_head_t * bufhead, buf_line_t * bufline, rb_dlink_node *node) { /* Remove it from the linked list */ rb_dlinkDestroy(node, &bufhead->list); @@ -188,7 +176,8 @@ rb_linebuf_donebuf(buf_head_t * bufhead) { while(bufhead->list.head != NULL) { - rb_linebuf_done_line(bufhead, (buf_line_t *) bufhead->list.head->data, bufhead->list.head); + rb_linebuf_done_line(bufhead, (buf_line_t *) bufhead->list.head->data, + bufhead->list.head); } } @@ -515,7 +504,8 @@ rb_linebuf_attach(buf_head_t * bufhead, buf_head_t * new) * Then format/va_args is appended to the buffer. */ void -rb_linebuf_putmsg(buf_head_t * bufhead, const char *format, va_list * va_args, const char *prefixfmt, ...) +rb_linebuf_putmsg(buf_head_t * bufhead, const char *format, va_list * va_args, + const char *prefixfmt, ...) { buf_line_t *bufline; int len = 0; @@ -562,7 +552,8 @@ rb_linebuf_putmsg(buf_head_t * bufhead, const char *format, va_list * va_args, c else { /* Chop trailing CRLF's .. */ - while((bufline->buf[len] == '\r') || (bufline->buf[len] == '\n') || (bufline->buf[len] == '\0')) + while((bufline->buf[len] == '\r') || (bufline->buf[len] == '\n') + || (bufline->buf[len] == '\0')) { len--; } @@ -577,7 +568,7 @@ rb_linebuf_putmsg(buf_head_t * bufhead, const char *format, va_list * va_args, c } void -rb_linebuf_putbuf(buf_head_t *bufhead, const char *buffer) +rb_linebuf_putbuf(buf_head_t * bufhead, const char *buffer) { buf_line_t *bufline; int len = 0; @@ -614,7 +605,8 @@ rb_linebuf_putbuf(buf_head_t *bufhead, const char *buffer) else { /* Chop trailing CRLF's .. */ - while((bufline->buf[len] == '\r') || (bufline->buf[len] == '\n') || (bufline->buf[len] == '\0')) + while((bufline->buf[len] == '\r') || (bufline->buf[len] == '\n') + || (bufline->buf[len] == '\0')) { len--; } @@ -627,7 +619,7 @@ rb_linebuf_putbuf(buf_head_t *bufhead, const char *buffer) bufline->len = len; bufhead->len += len; - + } void @@ -673,7 +665,8 @@ rb_linebuf_put(buf_head_t * bufhead, const char *format, ...) else { /* Chop trailing CRLF's .. */ - while((bufline->buf[len] == '\r') || (bufline->buf[len] == '\n') || (bufline->buf[len] == '\0')) + while((bufline->buf[len] == '\r') || (bufline->buf[len] == '\n') + || (bufline->buf[len] == '\0')) { len--; } @@ -729,7 +722,7 @@ rb_linebuf_flush(rb_fde_t *F, buf_head_t * bufhead) } ptr = bufhead->list.head; - + bufline = ptr->data; if(!bufline->terminated) { @@ -750,12 +743,13 @@ rb_linebuf_flush(rb_fde_t *F, buf_head_t * bufhead) bufline = ptr->data; if(!bufline->terminated) break; - + vec[x].iov_base = bufline->buf; vec[x].iov_len = bufline->len; ptr = ptr->next; - } while(++x < RB_UIO_MAXIOV); + } + while(++x < RB_UIO_MAXIOV); if(x == 0) { @@ -780,7 +774,7 @@ rb_linebuf_flush(rb_fde_t *F, buf_head_t * bufhead) rb_linebuf_done_line(bufhead, bufline, bufhead->list.head); bufhead->writeofs = 0; } - else + else { bufhead->writeofs += xret; break; @@ -789,10 +783,10 @@ rb_linebuf_flush(rb_fde_t *F, buf_head_t * bufhead) return retval; } -#endif +#endif + + /* this is the non-writev case */ - /* this is the non-writev case */ - /* Check we actually have a first buffer */ if(bufhead->list.head == NULL) { @@ -839,12 +833,7 @@ rb_linebuf_flush(rb_fde_t *F, buf_head_t * bufhead) */ void -rb_count_rb_linebuf_memory(size_t * count, size_t * rb_linebuf_memory_used) +rb_count_rb_linebuf_memory(size_t *count, size_t *rb_linebuf_memory_used) { -#ifndef NOBALLOC rb_bh_usage(rb_linebuf_heap, count, NULL, rb_linebuf_memory_used, NULL); -#else - *count = 0; - *rb_linebuf_memory_used = 0; -#endif }