FolderItem *dest,
MsgInfo *msginfo,
gboolean remove_source);
+#if 0
static gint imap_do_copy_msgs_with_dest (Folder *folder,
FolderItem *dest,
GSList *msglist,
gboolean remove_source);
+#endif
static GSList *imap_get_uncached_messages (IMAPSession *session,
FolderItem *item,
const gchar *str);
static gchar *search_array_str (GPtrArray *array,
const gchar *str);
-static gchar *search_array_exact_str (GPtrArray *array,
- const gchar *str);
static void imap_path_separator_subst (gchar *str,
gchar separator);
IMAPSession *session;
IMAPFlags iflags = 0;
gint messages, recent, unseen;
- guint32 newuid = 0, uid_validity, tmp;
+ guint32 newuid = 0, uid_validity;
gint ok;
g_return_val_if_fail(folder != NULL, -1);
folder->ns_shared != NULL)
return;
+ if (!imap_has_capability(session, "NAMESPACE")) {
+ imap_get_namespace_by_list(session, folder);
+ return;
+ }
+
if (imap_cmd_namespace(SESSION(session)->sock, &ns_str)
!= IMAP_SUCCESS) {
log_warning(_("can't get namespace\n"));
- imap_get_namespace_by_list(session, folder);
return;
}
str_array = strsplit_parenthesis(ns_str, '(', ')', 3);
+ if (str_array == NULL) {
+ g_free(ns_str);
+ imap_get_namespace_by_list(session, folder);
+ return;
+ }
if (str_array[0])
folder->ns_personal = imap_parse_namespace_str(str_array[0]);
if (str_array[0] && str_array[1])
return (gchar *)(*p == ch ? p + 1 : p);
}
-static gchar *search_array_exact_str(GPtrArray *array, const gchar *str)
-{
- gint i;
-
- for (i = 0; i < array->len; i++) {
- gchar *tmp;
- tmp = g_ptr_array_index(array, i);
- if (strcmp(tmp, str) == 0)
- return tmp;
- }
- return NULL;
-}
-
static gchar *search_array_contain_str(GPtrArray *array, const gchar *str)
{
gint i;
ok = imap_select(session, IMAP_FOLDER(folder), item->path,
NULL, NULL, NULL, NULL);
if (ok != IMAP_SUCCESS)
- return -1;
+ return NULL;
if (!(item->stype == F_QUEUE || item->stype == F_DRAFT)) {
GSList *list;