commit 7ee8518c9e2538f4c857e4d94dfcb2718edde48c
parent 29ecadc1cb6d568b5a23e06d9256c0a714cb51a7
Author: Michael Rasmussen <mir@datanom.net>
Date: Sat, 26 Aug 2017 23:56:30 +0200
Merge branch 'master' of ssh+git://git.claws-mail.org/home/git/claws
Diffstat:
4 files changed, 40 insertions(+), 7 deletions(-)
diff --git a/AUTHORS b/AUTHORS
@@ -313,3 +313,4 @@ contributors (in addition to the above; based on Changelog)
Ashish Gupta
Olivier Brunel
Michael Vilain
+ Orbea
diff --git a/configure.ac b/configure.ac
@@ -1174,7 +1174,7 @@ AC_SUBST(ARCHIVE_CFLAGS)
AC_CHECK_LIB([archive], [archive_read_new],
ARCHIVE_LIBS=-larchive
HAVE_ARCHIVE=yes
- AC_SUBST(ARCHIVE_LIBS,ARCHIVE_CFLAGS),
+ AC_SUBST(ARCHIVE_LIBS,$ARCHIVE_CFLAGS),
HAVE_ARCHIVE=no
)
@@ -1222,10 +1222,10 @@ if test x"$HAVE_PERL" = xyes; then
AC_MSG_CHECKING(for Perl compile flags)
PERL_CFLAGS=`perl -MExtUtils::Embed -e ccopts`
PERL_CFLAGS=`echo $PERL_CFLAGS | sed 's/-D_FILE_OFFSET_BITS=[[0-9]]*//'`
- PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts |sed 's/-lgdbm//'`
- PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-ldb//'`
- PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lndbm//'`
- PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lc//'`
+ PERL_LDFLAGS=`perl -MExtUtils::Embed -e ldopts |sed 's/-lgdbm\>//'`
+ PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-ldb\>//'`
+ PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lndbm\>//'`
+ PERL_LDFLAGS=`echo $PERL_LDFLAGS |sed 's/-lc\>//'`
AC_MSG_RESULT(ok)
AC_MSG_NOTICE([Adding perl LIBS ${PERL_CFLAGS}])
diff --git a/src/gtk/authors.h b/src/gtk/authors.h
@@ -240,6 +240,7 @@ static char *CONTRIBS_LIST[] = {
"Miquel Oliete",
"Paul Ollis",
"Fredrik Olofssen",
+"Orbea",
"Reza Pakdel",
"Richard Palo",
"Marcel Pol",
diff --git a/src/imap.c b/src/imap.c
@@ -77,6 +77,8 @@ typedef struct _IMAPSession IMAPSession;
typedef struct _IMAPNameSpace IMAPNameSpace;
typedef struct _IMAPFolderItem IMAPFolderItem;
+#include "prefs_account.h"
+
#define IMAP_FOLDER(obj) ((IMAPFolder *)obj)
#define IMAP_FOLDER_ITEM(obj) ((IMAPFolderItem *)obj)
#define IMAP_SESSION(obj) ((IMAPSession *)obj)
@@ -425,6 +427,7 @@ static gint imap_get_flags (Folder *folder,
FolderItem *item,
MsgInfoList *msglist,
GHashTable *msgflags);
+static gchar *imap_folder_get_path (Folder *folder);
static gchar *imap_item_get_path (Folder *folder,
FolderItem *item);
static MsgInfo *imap_parse_msg(const gchar *file, FolderItem *item);
@@ -3042,6 +3045,35 @@ static FolderItem *imap_create_special_folder(Folder *folder,
return new_item;
}
+static gchar *imap_folder_get_path(Folder *folder)
+{
+ gchar *folder_path;
+
+ g_return_val_if_fail(folder != NULL, NULL);
+ g_return_val_if_fail(folder->account != NULL, NULL);
+
+#ifdef G_OS_WIN32
+ gchar *sanitized_dirname = g_strdup(folder->account->recv_server);
+ g_strdelimit(sanitized_dirname, ":", ',');
+#endif
+
+ folder_path = g_strconcat(get_imap_cache_dir(),
+ G_DIR_SEPARATOR_S,
+#ifdef G_OS_WIN32
+ sanitized_dirname,
+#else
+ folder->account->recv_server,
+#endif
+ G_DIR_SEPARATOR_S,
+ folder->account->userid,
+ NULL);
+
+#ifdef G_OS_WIN32
+ g_free(sanitized_dirname);
+#endif
+ return folder_path;
+}
+
#ifdef G_OS_WIN32
static gchar *imap_encode_unsafe_chars(const gchar *str)
{
@@ -3078,9 +3110,8 @@ static gchar *imap_item_get_path(Folder *folder, FolderItem *item)
gchar *item_path = NULL;
g_return_val_if_fail(folder != NULL, NULL);
- g_return_val_if_fail(folder->account != NULL, NULL);
g_return_val_if_fail(item != NULL, NULL);
- folder_path = prefs_account_cache_dir(folder->account, FALSE);
+ folder_path = imap_folder_get_path(folder);
g_return_val_if_fail(folder_path != NULL, NULL);