changeset 421:37c5e6ef22f4 HEAD

Use the largest output buffer size when growing corked buffer.
author Timo Sirainen <tss@iki.fi>
date Mon, 14 Oct 2002 23:26:38 +0300
parents 0de1093e8054
children 5138499f90ad
files src/lib/obuffer-file.c
diffstat 1 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/obuffer-file.c	Mon Oct 14 20:48:03 2002 +0300
+++ b/src/lib/obuffer-file.c	Mon Oct 14 23:26:38 2002 +0300
@@ -401,8 +401,15 @@
 	size_t size, head_size;
 
 	size = nearest_power(fbuf->buffer_size + bytes);
-	if (fbuf->max_buffer_size > 0 && size > fbuf->max_buffer_size)
-		size = fbuf->max_buffer_size;
+	if (fbuf->max_buffer_size != 0) {
+		if (size > fbuf->max_buffer_size) {
+			/* limit the size */
+			size = fbuf->max_buffer_size;
+		} else if (fbuf->corked) {
+			/* use the largest possible buffer with corking */
+			size = fbuf->max_buffer_size;
+		}
+	}
 
 	if (size == fbuf->buffer_size)
 		return;