aboutsummaryrefslogtreecommitdiff
path: root/libsylph/news.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsylph/news.c')
-rw-r--r--libsylph/news.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/libsylph/news.c b/libsylph/news.c
index 55cd7c0d..5a6afc14 100644
--- a/libsylph/news.c
+++ b/libsylph/news.c
@@ -176,18 +176,20 @@ static Folder *news_folder_new(const gchar *name, const gchar *path)
static void news_folder_destroy(Folder *folder)
{
- gchar *dir;
-
- dir = folder_get_path(folder);
- if (is_dir_exist(dir))
- remove_dir_recursive(dir);
- g_free(dir);
-
- dir = g_strconcat(get_news_cache_dir(), G_DIR_SEPARATOR_S,
- folder->account->nntp_server, NULL);
- if (is_dir_exist(dir))
- g_rmdir(dir);
- g_free(dir);
+ if (REMOTE_FOLDER(folder)->remove_cache_on_destroy) {
+ gchar *dir;
+
+ dir = folder_get_path(folder);
+ if (is_dir_exist(dir))
+ remove_dir_recursive(dir);
+ g_free(dir);
+
+ dir = g_strconcat(get_news_cache_dir(), G_DIR_SEPARATOR_S,
+ folder->account->nntp_server, NULL);
+ if (is_dir_exist(dir))
+ g_rmdir(dir);
+ g_free(dir);
+ }
folder_remote_folder_destroy(REMOTE_FOLDER(folder));
}