diff options
-rw-r--r-- | src/buffer.c | 8 | ||||
-rw-r--r-- | src/buffer.h | 5 |
2 files changed, 11 insertions, 2 deletions
diff --git a/src/buffer.c b/src/buffer.c index 8e76e26..2111034 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -1,4 +1,4 @@ -/* $Id: buffer.c,v 1.1.1.1 2000-02-16 17:32:22 sdyoung Exp $ +/* $Id: buffer.c,v 1.2 2000-03-31 20:09:19 rjkaes Exp $ * * The buffer used in each connection is a linked list of lines. As the lines * are read in and written out the buffer expands and contracts. Basically, @@ -72,6 +72,9 @@ struct buffer_s *new_buffer(void) buffptr->head = buffptr->tail = NULL; buffptr->size = 0; + buffptr->working_string = NULL; + buffptr->working_length = 0; + return buffptr; } @@ -92,6 +95,9 @@ void delete_buffer(struct buffer_s *buffptr) buffer_head(buffptr) = NULL; buffer_tail(buffptr) = NULL; + buffptr->working_length = 0; + safefree(buffptr->working_string); + safefree(buffptr); } diff --git a/src/buffer.h b/src/buffer.h index a1ee86c..2a68fd8 100644 --- a/src/buffer.h +++ b/src/buffer.h @@ -1,4 +1,4 @@ -/* $Id: buffer.h,v 1.1.1.1 2000-02-16 17:32:22 sdyoung Exp $ +/* $Id: buffer.h,v 1.2 2000-03-31 20:09:19 rjkaes Exp $ * * See 'buffer.c' for a detailed description. * @@ -31,6 +31,9 @@ struct buffer_s { struct bufline_s *head; /* top of the buffer */ struct bufline_s *tail; /* bottom of the buffer */ unsigned long int size; /* total size of the buffer */ + + unsigned char *working_string; /* needed for building a new line incr. */ + unsigned int working_length; /* length of working line */ }; #define buffer_head(x) (((struct buffer_s *)(x))->head) |