Fix imapx_parse_flags to not just return the first UID repeatedly, export it.
authorDavid Woodhouse <David.Woodhouse@intel.com>
Sat, 19 Jun 2010 11:37:48 +0000 (12:37 +0100)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Thu, 24 Jun 2010 10:22:04 +0000 (11:22 +0100)
camel/providers/imapx/camel-imapx-utils.c
camel/providers/imapx/camel-imapx-utils.h

index 8e1da66..2e99dcd 100644 (file)
@@ -33,7 +33,6 @@ imapx_tokenise (register const gchar *str, register guint len)
 
 static void imapx_namespace_clear (CamelIMAPXStoreNamespace **ns);
 static const gchar * rename_label_flag (const gchar *flag, gint len, gboolean server_to_evo);
-static GPtrArray *imapx_parse_uids (CamelIMAPXStream *is, CamelException *ex);
 
 /* flag table */
 static struct {
@@ -1528,7 +1527,7 @@ generate_uids_from_sequence (GPtrArray *uids, guint32 begin_uid, guint32 end_uid
                g_ptr_array_add (uids, GUINT_TO_POINTER (i));
 }
 
-static GPtrArray *
+GPtrArray *
 imapx_parse_uids (CamelIMAPXStream *is, CamelException *ex)
 {
        GPtrArray *uids = g_ptr_array_new ();
@@ -1550,7 +1549,7 @@ imapx_parse_uids (CamelIMAPXStream *is, CamelException *ex)
                        generate_uids_from_sequence (uids, uid1, uid2);
                        g_strfreev (seq);
                } else {
-                       guint32 uid = strtoul ((gchar *) token, NULL, 10);
+                       guint32 uid = strtoul ((gchar *) splits[i], NULL, 10);
                        g_ptr_array_add (uids, GUINT_TO_POINTER (uid));
                }
        }
index e7275e0..2084fc7 100644 (file)
@@ -61,6 +61,7 @@ enum {
 
 /* ********************************************************************** */
 
+GPtrArray *imapx_parse_uids (CamelIMAPXStream *is, CamelException *ex);
 void imapx_parse_flags(struct _CamelIMAPXStream *stream, guint32 *flagsp, struct _CamelFlag **user_flagsp, CamelException *ex);
 void imapx_write_flags(CamelStream *stream, guint32 flags, struct _CamelFlag *user_flags, CamelException *ex);
 gboolean imapx_update_message_info_flags (CamelMessageInfo *info, guint32 server_flags, CamelFlag *server_user_flags, CamelFolder *folder);