balsa r7907 - in trunk: . libbalsa libbalsa/imap



Author: pawels
Date: Sun Apr  6 14:10:17 2008
New Revision: 7907
URL: http://svn.gnome.org/viewvc/balsa?rev=7907&view=rev

Log:
* libbalsa/mailbox_imap.c: initalise ImapSequence data.
* libbalsa/imap/imap-handle.h: provide a macro for that purpose.


Modified:
   trunk/ChangeLog
   trunk/libbalsa/imap/imap-commands.c
   trunk/libbalsa/imap/imap-handle.h
   trunk/libbalsa/mailbox_imap.c

Modified: trunk/libbalsa/imap/imap-commands.c
==============================================================================
--- trunk/libbalsa/imap/imap-commands.c	(original)
+++ trunk/libbalsa/imap/imap-commands.c	Sun Apr  6 14:10:17 2008
@@ -486,6 +486,9 @@
   use_uidplus = imap_mbox_handle_can_do(handle, IMCAP_UIDPLUS);
   litstr = use_literal ? "+" : "";
 
+  if(uid_sequence)
+    uid_sequence->ranges = NULL;
+
   imap_handle_idle_disable(handle);
   for(msg_cnt=0;
       (msg_size = dump_cb(buf, sizeof(buf),
@@ -1290,7 +1293,11 @@
     unsigned cmdno;
     gboolean use_uidplus = imap_mbox_handle_can_do(handle, IMCAP_UIDPLUS);
 
-    handle->uidplus.store_response = ret_sequence ? 1 : 0;
+    if(ret_sequence) {
+      ret_sequence->ranges = NULL;
+      handle->uidplus.store_response = 1;
+    } else
+      handle->uidplus.store_response = 0;
 
     rc = imap_cmd_exec_cmdno(handle, cmd, &cmdno);
     g_free(seq); g_free(mbx7); g_free(cmd);

Modified: trunk/libbalsa/imap/imap-handle.h
==============================================================================
--- trunk/libbalsa/imap/imap-handle.h	(original)
+++ trunk/libbalsa/imap/imap-handle.h	Sun Apr  6 14:10:17 2008
@@ -198,6 +198,7 @@
 unsigned imap_sequence_nth(ImapSequence *i_seq, unsigned nth);
 void imap_sequence_foreach(ImapSequence *i_seq,
 			   void(*cb)(unsigned uid, void *arg), void *cb_arg);
+#define imap_sequence_init(i_seq) do { (i_seq)->ranges = NULL; }while(0)
 void imap_sequence_release(ImapSequence *i_seq);
 
 /* ================ BEGIN OF MBOX_VIEW FUNCTIONS ======================= */

Modified: trunk/libbalsa/mailbox_imap.c
==============================================================================
--- trunk/libbalsa/mailbox_imap.c	(original)
+++ trunk/libbalsa/mailbox_imap.c	Sun Apr  6 14:10:17 2008
@@ -2826,8 +2826,7 @@
     macd.outfiles = NULL;
     macd.err = err;
     macd.copied = 0;
-    uid_sequence.uid_validity = 0;
-    uid_sequence.ranges = NULL;
+    imap_sequence_init(&uid_sequence);
     rc = imap_mbox_append_multi(handle,	mimap->path,
 				multi_append_cb, &macd, &uid_sequence);
     libbalsa_mailbox_imap_release_handle(mimap);
@@ -3158,6 +3157,7 @@
 	unsigned im;
 	g_return_val_if_fail(handle, FALSE);
 	
+	imap_sequence_init(&uid_sequence);
 	/* User server-side copy. */
 	g_array_sort(msgnos, cmp_msgno);
 	uids = g_new(unsigned, msgnos->len);



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