aboutsummaryrefslogtreecommitdiffstats
path: root/camel/camel-folder-summary.c
diff options
context:
space:
mode:
authorMichael Zucci <zucchi@src.gnome.org>2001-09-21 11:05:03 +0800
committerMichael Zucci <zucchi@src.gnome.org>2001-09-21 11:05:03 +0800
commit7d17dc2230c4a3b650849ad6e2dcdc5ebf6cb47e (patch)
tree233272ab1dd5d9923f4d2e57d9a0e594fe10efff /camel/camel-folder-summary.c
parentf21fc37e3c2025f2a6b4ed3a24123d2a7fd5eed4 (diff)
downloadgsoc2013-evolution-7d17dc2230c4a3b650849ad6e2dcdc5ebf6cb47e.tar.gz
gsoc2013-evolution-7d17dc2230c4a3b650849ad6e2dcdc5ebf6cb47e.tar.zst
gsoc2013-evolution-7d17dc2230c4a3b650849ad6e2dcdc5ebf6cb47e.zip
New function to just load the summary. Not much use yet, until unread
* camel-folder-summary.c (camel_folder_summary_header_load): New function to just load the summary. Not much use yet, until unread counts are stored in the summary (which now looks like too much work!). * camel-mime-utils.c (header_decode_mailbox): Crappy fix for stupid mailers. If we get 'name b. name <foo>' then treat it as '"name b. name" <foo>'. See 8147. (header_decode_mailbox): Another fix for really broken mailers that have things that look like addresses followed by <address> bits. (rfc2047_encode_word): Escape ??= to avoid some bizarre warning about trigraphs. (scan_dir): If we dont have the folder open, then scan the 'new' and 'cur' folders for new and unread messages to count instead. svn path=/trunk/; revision=13040
Diffstat (limited to 'camel/camel-folder-summary.c')
-rw-r--r--camel/camel-folder-summary.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/camel/camel-folder-summary.c b/camel/camel-folder-summary.c
index ac525dd619..f5f2131fa2 100644
--- a/camel/camel-folder-summary.c
+++ b/camel/camel-folder-summary.c
@@ -658,6 +658,36 @@ camel_folder_summary_save(CamelFolderSummary *s)
return 0;
}
+/**
+ * camel_folder_summary_header_load:
+ * @s: Summary object.
+ *
+ * Only load the header information from the summary,
+ * keep the rest on disk. This should only be done on
+ * a fresh summary object.
+ *
+ * Return value: -1 on error.
+ **/
+int camel_folder_summary_header_load(CamelFolderSummary *s)
+{
+ FILE *in;
+ int ret;
+
+ g_assert(s->summary_path);
+
+ in = fopen(s->summary_path, "r");
+ if (in == NULL)
+ return -1;
+
+ CAMEL_SUMMARY_LOCK(s, io_lock);
+ ret = ((CamelFolderSummaryClass *)(CAMEL_OBJECT_GET_CLASS(s)))->summary_header_load(s, in);
+ CAMEL_SUMMARY_UNLOCK(s, io_lock);
+
+ fclose(in);
+ s->flags &= ~CAMEL_SUMMARY_DIRTY;
+ return ret;
+}
+
static void
summary_assign_uid(CamelFolderSummary *s, CamelMessageInfo *info)
{