[evolution-data-server] imapx_step: Add a CamelIMAPXStream parameter.



commit f0d3e8e3806fc9d1e78394580b2d66a90297c92d
Author: Matthew Barnes <mbarnes redhat com>
Date:   Mon Aug 12 06:03:49 2013 -0400

    imapx_step: Add a CamelIMAPXStream parameter.

 camel/camel-imapx-server.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)
---
diff --git a/camel/camel-imapx-server.c b/camel/camel-imapx-server.c
index 202e7a2..6d82731 100644
--- a/camel/camel-imapx-server.c
+++ b/camel/camel-imapx-server.c
@@ -2881,17 +2881,15 @@ imapx_completion (CamelIMAPXServer *is,
 
 static gboolean
 imapx_step (CamelIMAPXServer *is,
+            CamelIMAPXStream *stream,
             GCancellable *cancellable,
             GError **error)
 {
-       CamelIMAPXStream *stream;
        guint len;
        guchar *token;
        gint tok;
        gboolean success = FALSE;
 
-       stream = camel_imapx_server_ref_stream (is);
-
        // poll ?  wait for other stuff? loop?
        tok = camel_imapx_stream_token (
                stream, &token, &len, cancellable, error);
@@ -2919,8 +2917,6 @@ imapx_step (CamelIMAPXServer *is,
                        break;
        }
 
-       g_object_unref (stream);
-
        return success;
 }
 
@@ -2931,10 +2927,13 @@ imapx_command_run (CamelIMAPXServer *is,
                    CamelIMAPXCommand *ic,
                    GCancellable *cancellable,
                    GError **error)
-/* throws IO,PARSE exception */
 {
+       CamelIMAPXStream *stream;
        gboolean success = TRUE;
 
+       stream = camel_imapx_server_ref_stream (is);
+       g_return_val_if_fail (stream != NULL, FALSE);
+
        camel_imapx_command_close (ic);
 
        QUEUE_LOCK (is);
@@ -2942,7 +2941,7 @@ imapx_command_run (CamelIMAPXServer *is,
        QUEUE_UNLOCK (is);
 
        while (success && ic->status == NULL)
-               success = imapx_step (is, cancellable, error);
+               success = imapx_step (is, stream, cancellable, error);
 
        if (is->literal == ic)
                is->literal = NULL;
@@ -2951,6 +2950,8 @@ imapx_command_run (CamelIMAPXServer *is,
        camel_imapx_command_queue_remove (is->active, ic);
        QUEUE_UNLOCK (is);
 
+       g_object_unref (stream);
+
        return success;
 }
 
@@ -6880,7 +6881,7 @@ imapx_parse_contents (CamelIMAPXServer *is,
                       GCancellable *cancellable,
                       GError **error)
 {
-       while (imapx_step (is, cancellable, error))
+       while (imapx_step (is, stream, cancellable, error))
                if (camel_imapx_stream_buffered (stream) == 0)
                        break;
 }


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