folder->get_num_list = imap_get_num_list;
folder->get_msginfo = imap_get_msginfo;
-
- ((IMAPFolder *)folder)->selected_folder = NULL;
}
static FolderItem *imap_folder_item_new(Folder *folder)
imap_parse_namespace(IMAP_SESSION(rfolder->session),
IMAP_FOLDER(folder));
rfolder->session->last_access_time = time(NULL);
- g_free(((IMAPFolder *)folder)->selected_folder);
- ((IMAPFolder *)folder)->selected_folder = NULL;
imap_reset_uid_lists(folder);
}
statusbar_pop_all();
if (rfolder->session) {
imap_parse_namespace(IMAP_SESSION(rfolder->session),
IMAP_FOLDER(folder));
- g_free(((IMAPFolder *)folder)->selected_folder);
- ((IMAPFolder *)folder)->selected_folder = NULL;
imap_reset_uid_lists(folder);
}
}
{
gchar *destdir;
IMAPSession *session;
- gint messages, recent, unseen, exists;
+ gint messages, recent, unseen;
guint32 uid_next, uid_validity;
gint ok;
destdir = imap_get_real_path(IMAP_FOLDER(folder), dest->path);
- /* ensure source folder selected */
- if (strcmp(((IMAPFolder *)folder)->selected_folder,
- msginfo->folder->path) != 0) {
- ok = imap_select(session, IMAP_FOLDER(folder), msginfo->folder->path,
- &exists, &recent, &unseen, &uid_validity);
- statusbar_pop_all();
- if (ok != IMAP_SUCCESS)
- return -1;
- }
+ /* ensure source folder selected */
+ ok = imap_select(session, IMAP_FOLDER(folder), msginfo->folder->path,
+ NULL, NULL, NULL, NULL);
+ statusbar_pop_all();
+ if (ok != IMAP_SUCCESS)
+ return -1;
- if (remove_source)
+ if (remove_source)
debug_print("Moving message %s%c%d to %s ...\n",
msginfo->folder->path, G_DIR_SEPARATOR,
msginfo->msgnum, destdir);
MsgInfo *msginfo;
IMAPSession *session;
gint ok = IMAP_SUCCESS;
- gint exists, recent, unseen;
- guint32 uid_validity;
g_return_val_if_fail(folder != NULL, -1);
g_return_val_if_fail(dest != NULL, -1);
continue;
}
- /* ensure source folder selected */
- if (strcmp(((IMAPFolder *)folder)->selected_folder,
- msginfo->folder->path) != 0) {
- ok = imap_select(session, IMAP_FOLDER(folder),
- msginfo->folder->path, &exists, &recent, &unseen,
- &uid_validity);
+ /* ensure source folder selected */
+ ok = imap_select(session, IMAP_FOLDER(folder),
+ msginfo->folder->path, NULL, NULL, NULL, NULL);
statusbar_pop_all();
- if (ok != IMAP_SUCCESS)
- return -1;
- }
if (remove_source)
debug_print("Moving message %s%c%d to %s ...\n",
gint imap_remove_msg(Folder *folder, FolderItem *item, gint uid)
{
- gint exists, recent, unseen;
- guint32 uid_validity;
gint ok;
IMAPSession *session;
gchar *dir;
if (!session) return -1;
ok = imap_select(session, IMAP_FOLDER(folder), item->path,
- &exists, &recent, &unseen, &uid_validity);
+ NULL, NULL, NULL, NULL);
statusbar_pop_all();
if (ok != IMAP_SUCCESS)
return ok;
gint imap_remove_msgs(Folder *folder, FolderItem *item, GSList *msglist)
{
- gint exists, recent, unseen;
- guint32 uid_validity;
gint ok;
IMAPSession *session;
gchar *dir;
if (!session) return -1;
ok = imap_select(session, IMAP_FOLDER(folder), item->path,
- &exists, &recent, &unseen, &uid_validity);
+ NULL, NULL, NULL, NULL);
statusbar_pop_all();
if (ok != IMAP_SUCCESS)
return ok;
gint imap_remove_all_msg(Folder *folder, FolderItem *item)
{
- gint exists, recent, unseen;
- guint32 uid_validity;
+ gint exists, recent, unseen;
+ guint32 uid_validity;
gint ok;
IMAPSession *session;
gchar *dir;
session->mbox = g_strdup(path);
g_free(real_path);
- g_free(folder->selected_folder);
- folder->selected_folder = g_strdup(path);
-
return ok;
}
{
IMAPFolderItem *item = (IMAPFolderItem *)_item;
IMAPSession *session;
- gint i, lastuid_old, nummsgs = 0;
- gint ok, exists = 0, recent = 0, unseen = 0;
- guint32 uid_validity = 0;
+ gint ok, i, lastuid_old, nummsgs = 0;
GPtrArray *argbuf;
gchar *cmdbuf = NULL;
gchar *dir;
-
+
g_return_val_if_fail(folder != NULL, -1);
g_return_val_if_fail(item != NULL, -1);
g_return_val_if_fail(item->item.path != NULL, -1);
g_return_val_if_fail(session != NULL, -1);
ok = imap_select(session, IMAP_FOLDER(folder), item->item.path,
- &exists, &recent, &unseen, &uid_validity);
+ NULL, NULL, NULL, NULL);
if (ok != IMAP_SUCCESS)
return -1;