diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ChangeLog.ja | 7 | ||||
-rw-r--r-- | libsylph/mbox.c | 13 | ||||
-rw-r--r-- | libsylph/mbox.h | 3 | ||||
-rw-r--r-- | src/inc.c | 4 |
5 files changed, 25 insertions, 8 deletions
@@ -1,3 +1,9 @@ +2007-02-08 + + * libsylph/mbox.[ch] + src/inc.c: added the argument filter_junk to proc_mbox_full(). + proc_mbox(): don't filter junk if folder_table is NULL. + 2007-02-07 * version 2.4.0beta3 diff --git a/ChangeLog.ja b/ChangeLog.ja index bb16173d..551fb686 100644 --- a/ChangeLog.ja +++ b/ChangeLog.ja @@ -1,3 +1,10 @@ +2007-02-08 + + * libsylph/mbox.[ch] + src/inc.c: proc_mbox_full() に引数 filter_junk を追加。 + proc_mbox(): folder_table が NULL の場合迷惑メールを振り分けない + ようにした。 + 2007-02-07 * version 2.4.0beta3 diff --git a/libsylph/mbox.c b/libsylph/mbox.c index 10e94297..72c2c5f4 100644 --- a/libsylph/mbox.c +++ b/libsylph/mbox.c @@ -59,11 +59,14 @@ gint proc_mbox(FolderItem *dest, const gchar *mbox, GHashTable *folder_table) { return proc_mbox_full(dest, mbox, folder_table, - folder_table ? TRUE : FALSE); + folder_table ? TRUE : FALSE, + folder_table && prefs_common.enable_junk && + prefs_common.filter_junk_on_recv ? TRUE : FALSE); } gint proc_mbox_full(FolderItem *dest, const gchar *mbox, - GHashTable *folder_table, gboolean apply_filter) + GHashTable *folder_table, gboolean apply_filter, + gboolean filter_junk) { FILE *mbox_fp; gchar buf[MSGBUFSIZE], from_line[MSGBUFSIZE]; @@ -211,8 +214,7 @@ gint proc_mbox_full(FolderItem *dest, const gchar *mbox, fltinfo->flags.perm_flags = MSG_NEW|MSG_UNREAD; fltinfo->flags.tmp_flags = MSG_RECEIVED; - if (prefs_common.enable_junk && - prefs_common.filter_junk_on_recv && + if (filter_junk && prefs_common.enable_junk && prefs_common.filter_junk_before) { filter_apply(prefs_common.junk_fltlist, tmp_file, fltinfo); @@ -222,8 +224,7 @@ gint proc_mbox_full(FolderItem *dest, const gchar *mbox, filter_apply(prefs_common.fltlist, tmp_file, fltinfo); if (!fltinfo->drop_done && - prefs_common.enable_junk && - prefs_common.filter_junk_on_recv && + filter_junk && prefs_common.enable_junk && !prefs_common.filter_junk_before) { filter_apply(prefs_common.junk_fltlist, tmp_file, fltinfo); diff --git a/libsylph/mbox.h b/libsylph/mbox.h index eb29ecac..cd2f7352 100644 --- a/libsylph/mbox.h +++ b/libsylph/mbox.h @@ -35,7 +35,8 @@ gint proc_mbox (FolderItem *dest, gint proc_mbox_full (FolderItem *dest, const gchar *mbox, GHashTable *folder_table, - gboolean apply_filter); + gboolean apply_filter, + gboolean filter_junk); gint lock_mbox (const gchar *base, LockType type); @@ -1403,7 +1403,9 @@ static gint get_spool(FolderItem *dest, const gchar *mbox) folder_table = g_hash_table_new(NULL, NULL); msgs = proc_mbox_full(dest, tmp_mbox, folder_table, - prefs_common.filter_on_inc); + prefs_common.filter_on_inc, + prefs_common.enable_junk && + prefs_common.filter_junk_on_recv); g_unlink(tmp_mbox); if (msgs >= 0) empty_mbox(mbox); |