summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnome-extra/evolution-data-server/files/evolution-data-server-2.22.3-mail-cleanup-delay.patch')
-rw-r--r--gnome-extra/evolution-data-server/files/evolution-data-server-2.22.3-mail-cleanup-delay.patch98
1 files changed, 0 insertions, 98 deletions
diff --git a/gnome-extra/evolution-data-server/files/evolution-data-server-2.22.3-mail-cleanup-delay.patch b/gnome-extra/evolution-data-server/files/evolution-data-server-2.22.3-mail-cleanup-delay.patch
deleted file mode 100644
index 51030a14df37..000000000000
--- a/gnome-extra/evolution-data-server/files/evolution-data-server-2.22.3-mail-cleanup-delay.patch
+++ /dev/null
@@ -1,98 +0,0 @@
----
-
-At http://bugzilla.gnome.org/show_bug.cgi?id=514827
-
-I have POP account in web.de
-I would like to leave in server only 1 days, and older messages should be
-deleted.
-I tried to do this with the pop account preference setting:
-x Leave messages on server
-x Delete messages older than 1 days
-
-However, the messages are still kept in the server although it is more than
-several days.
-
-Index: b/camel/providers/pop3/camel-pop3-folder.c
-===================================================================
---- a/camel/providers/pop3/camel-pop3-folder.c (revision 9476)
-+++ b/camel/providers/pop3/camel-pop3-folder.c (working copy)
-@@ -356,6 +356,48 @@
- camel_pop3_store_expunge (pop3_store, ex);
- }
-
-+static gboolean
-+pop3_get_message_time_from_cache (CamelFolder *folder, const char *uid, time_t *message_time)
-+{
-+ CamelPOP3Store *pop3_store;
-+ CamelStream *stream = NULL;
-+ char buffer[1];
-+ gboolean res = FALSE;
-+
-+ g_return_val_if_fail (folder != NULL, FALSE);
-+ g_return_val_if_fail (uid != NULL, FALSE);
-+ g_return_val_if_fail (message_time != NULL, FALSE);
-+
-+ pop3_store = CAMEL_POP3_STORE (folder->parent_store);
-+
-+ g_return_val_if_fail (pop3_store->cache != NULL, FALSE);
-+
-+ if ((stream = camel_data_cache_get (pop3_store->cache, "cache", uid, NULL)) != NULL
-+ && camel_stream_read (stream, buffer, 1) == 1
-+ && buffer[0] == '#') {
-+ CamelMimeMessage *message;
-+
-+ message = camel_mime_message_new ();
-+ if (camel_data_wrapper_construct_from_stream ((CamelDataWrapper *)message, stream) == -1) {
-+ g_warning (_("Cannot get message %s: %s"), uid, g_strerror (errno));
-+ camel_object_unref ((CamelObject *)message);
-+ message = NULL;
-+ }
-+
-+ if (message) {
-+ res = TRUE;
-+ *message_time = message->date + message->date_offset;
-+
-+ camel_object_unref ((CamelObject *)message);
-+ }
-+ }
-+
-+ if (stream) {
-+ camel_object_unref (stream);
-+ }
-+ return res;
-+}
-+
- int
- camel_pop3_delete_old(CamelFolder *folder, int days_to_delete, CamelException *ex)
- {
-@@ -363,8 +405,7 @@
- CamelPOP3FolderInfo *fi;
- int i;
- CamelPOP3Store *pop3_store;
-- time_t temp;
-- CamelMessageInfo *minfo;
-+ time_t temp, message_time;
-
- pop3_folder = CAMEL_POP3_FOLDER (folder);
- pop3_store = CAMEL_POP3_STORE (CAMEL_FOLDER(pop3_folder)->parent_store);
-@@ -374,10 +415,8 @@
- for (i = 0; i < pop3_folder->uids->len; i++) {
- fi = pop3_folder->uids->pdata[i];
-
-- minfo = camel_folder_get_message_info (folder, fi->uid);
- d(printf("%s(%d): fi->uid=[%s]\n", __FILE__, __LINE__, fi->uid));
-- if(minfo) {
-- time_t message_time = ((CamelMessageInfoBase *)minfo)->date_received;
-+ if (pop3_get_message_time_from_cache (folder, fi->uid, &message_time)) {
- double time_diff = difftime(temp,message_time);
- int day_lag = time_diff/(60*60*24);
-
-@@ -407,8 +446,6 @@
- camel_data_cache_remove(pop3_store->cache, "cache", fi->uid, NULL);
- }
- }
-- /* free message - not used anymore */
-- camel_folder_free_message_info (folder, minfo);
- }
- }
-