aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-mime-utils.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2000-07-10 06:40:49 +0800
committerDan Winship <danw@src.gnome.org>2000-07-10 06:40:49 +0800
commit90d51074c9c7c5284e3ff3e0a0eb4b5f5d96761f (patch)
treeab290885dfa6763006ef2480643e918725810448 /camel/camel-mime-utils.c
parentb90d829757ffe516f8853ddd462f64220cc46b07 (diff)
downloadgsoc2013-evolution-90d51074c9c7c5284e3ff3e0a0eb4b5f5d96761f.tar.gz
gsoc2013-evolution-90d51074c9c7c5284e3ff3e0a0eb4b5f5d96761f.tar.zst
gsoc2013-evolution-90d51074c9c7c5284e3ff3e0a0eb4b5f5d96761f.zip
New function to copy a header_references structure.
* camel-mime-utils.c (header_references_dup): New function to copy a header_references structure. * camel-folder-summary.c (camel_message_info_dup_to): New function to (deep) copy the data from one CamelMessageInfo into another. (camel_message_info_free): And free the data. * providers/vee/camel-vee-folder.c (vee_sync): Implement. (empty). (vee_search_by_expression): belatedly update for camel_folder_search change. (vee_folder_build): belatedly update for camel_folder_search change. Use camel_message_info_dup_to and camel_message_info_free (in particular, so that we get message_id and references info so vfolders can be threaded). (vee_folder_build_folder): Ditto. svn path=/trunk/; revision=4024
Diffstat (limited to 'camel/camel-mime-utils.c')
-rw-r--r--camel/camel-mime-utils.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/camel/camel-mime-utils.c b/camel/camel-mime-utils.c
index af9c9a7972..dbf4e4bfc3 100644
--- a/camel/camel-mime-utils.c
+++ b/camel/camel-mime-utils.c
@@ -1692,7 +1692,7 @@ header_references_list_clear(struct _header_references **list)
struct _header_references *
header_references_decode(const char *in)
{
- const char *inptr = in, *intmp;
+ const char *inptr = in;
struct _header_references *head = NULL, *node;
char *id, *word;
@@ -1721,6 +1721,21 @@ header_references_decode(const char *in)
return head;
}
+struct _header_references *
+header_references_dup(const struct _header_references *list)
+{
+ struct _header_references *new = NULL, *tmp;
+
+ while (list) {
+ tmp = g_new(struct _header_references, 1);
+ tmp->next = new;
+ tmp->id = g_strdup(list->id);
+ new = tmp;
+ list = list->next;
+ }
+ return new;
+}
+
struct _header_address *
header_mailbox_decode(const char *in)
{