From ae347fc87a55e1c3a6dc4debce62ee1faceaf81a Mon Sep 17 00:00:00 2001
From: Robert James Kaes <rjkaes@users.sourceforge.net>
Date: Fri, 31 Mar 2000 20:09:19 +0000
Subject: [PATCH] Added the working_* fields as a scratch pad for readline().

---
 src/buffer.c | 8 +++++++-
 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)