[evolution-exchange] Prefer g_seekable_seek() over camel_stream_reset().



commit 1b9a5fb5bed1dc6b79bbeeb960c4477ef7367344
Author: Matthew Barnes <mbarnes redhat com>
Date:   Tue Jul 5 08:00:28 2011 -0400

    Prefer g_seekable_seek() over camel_stream_reset().
    
    When a stream is obviously a file or memory stream (both of which
    implement the GSeekable interface), use g_seekable_seek() instead of
    camel_stream_reset().
    
    This is helping me discover if it's safe to remove camel_stream_reset().
    We want to eventually move to GIO streams, which have no reset method.

 camel/camel-exchange-folder.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/camel/camel-exchange-folder.c b/camel/camel-exchange-folder.c
index 8c5eb91..4a74d2a 100644
--- a/camel/camel-exchange-folder.c
+++ b/camel/camel-exchange-folder.c
@@ -122,7 +122,10 @@ exchange_folder_get_message_data (CamelFolder *folder,
 	if (stream) {
 		CamelStream *null_stream = camel_stream_null_new ();
 
-		camel_stream_reset (stream, NULL);
+		g_seekable_seek (
+			G_SEEKABLE (stream), 0,
+			G_SEEK_SET, NULL, NULL);
+
 		if (camel_stream_write_to_stream (stream, null_stream, cancellable, NULL) <= 0) {
 			stream = NULL;
 		}
@@ -134,10 +137,14 @@ exchange_folder_get_message_data (CamelFolder *folder,
 		ba = g_byte_array_new ();
 		stream_mem = camel_stream_mem_new ();
 		camel_stream_mem_set_byte_array (CAMEL_STREAM_MEM (stream_mem), ba);
-		camel_stream_reset (stream, NULL);
+
+		g_seekable_seek (
+			G_SEEKABLE (stream), 0,
+			G_SEEK_SET, NULL, NULL);
+
 		camel_stream_write_to_stream (stream, stream_mem, cancellable, NULL);
-		g_object_unref (CAMEL_OBJECT (stream_mem));
-		g_object_unref (CAMEL_OBJECT (stream));
+		g_object_unref (stream_mem);
+		g_object_unref (stream);
 
 		return ba;
 	}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]