From 9b0724a24a8dd79139c161ebe341235ef3d65b6b Mon Sep 17 00:00:00 2001
From: Jeffrey Stedfast <fejj@novell.com>
Date: Fri, 4 Jun 2004 18:48:20 +0000
Subject: Fixed to work properly. After we've flushed the buffer, we want to
 set

2004-06-04  Jeffrey Stedfast  <fejj@novell.com>

	* camel-stream-buffer.c (stream_flush): Fixed to work
	properly. After we've flushed the buffer, we want to set sbf->ptr
	to sbf->buf, we don't want to do sbf->ptr += written, that'll just
	corrupt our next write.

svn path=/trunk/; revision=26220
---
 camel/camel-stream-buffer.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

(limited to 'camel/camel-stream-buffer.c')

diff --git a/camel/camel-stream-buffer.c b/camel/camel-stream-buffer.c
index 8051441ae7..5db1c124f5 100644
--- a/camel/camel-stream-buffer.c
+++ b/camel/camel-stream-buffer.c
@@ -333,12 +333,12 @@ stream_flush (CamelStream *stream)
 	CamelStreamBuffer *sbf = CAMEL_STREAM_BUFFER (stream);
 
 	if ((sbf->mode & CAMEL_STREAM_BUFFER_MODE) == CAMEL_STREAM_BUFFER_WRITE) {
-		int len = sbf->ptr-sbf->buf;
-		int written = camel_stream_write(sbf->stream, sbf->buf, len);
-		if (written > 0)
-			sbf->ptr += written;
-		if (written != len)
+		size_t len = sbf->ptr - sbf->buf;
+		
+		if (camel_stream_write (sbf->stream, sbf->buf, len) == -1)
 			return -1;
+		
+		sbf->ptr = sbf->buf;
 	} else {
 		/* nothing to do for read mode 'flush' */
 	}
-- 
cgit