summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/libmailwrapper/mboxwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
index 293ae1b..6d69263 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
@@ -1,12 +1,13 @@
1#include "mboxwrapper.h" 1#include "mboxwrapper.h"
2#include "mailtypes.h" 2#include "mailtypes.h"
3#include "mailwrapper.h" 3#include "mailwrapper.h"
4#include <libetpan/libetpan.h> 4#include <libetpan/libetpan.h>
5#include <libetpan/mailstorage.h> 5#include <libetpan/mailstorage.h>
6#include <qdir.h> 6#include <qdir.h>
7#include <stdlib.h>
7 8
8MBOXwrapper::MBOXwrapper(const QString & mbox_dir) 9MBOXwrapper::MBOXwrapper(const QString & mbox_dir)
9 : Genericwrapper(),MBOXPath(mbox_dir) 10 : Genericwrapper(),MBOXPath(mbox_dir)
10{ 11{
11 QDir dir(MBOXPath); 12 QDir dir(MBOXPath);
12 if (!dir.exists()) { 13 if (!dir.exists()) {
@@ -20,39 +21,45 @@ MBOXwrapper::~MBOXwrapper()
20 21
21void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target ) 22void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target )
22{ 23{
23 mailstorage*storage = mailstorage_new(NULL); 24 mailstorage*storage = mailstorage_new(NULL);
24 QString p = MBOXPath+"/"; 25 QString p = MBOXPath+"/";
25 p+=mailbox; 26 p+=mailbox;
27 char*fname = 0;
26 28
27 int r = mbox_mailstorage_init(storage,strdup(p.latin1()),0,0,0); 29 fname = strdup(p.latin1());
30
31 int r = mbox_mailstorage_init(storage,fname,0,0,0);
28 mailfolder*folder; 32 mailfolder*folder;
29 folder = mailfolder_new( storage,strdup(p.latin1()),NULL); 33 folder = mailfolder_new( storage,fname,NULL);
30 r = mailfolder_connect(folder); 34 r = mailfolder_connect(folder);
31 if (r != MAIL_NO_ERROR) { 35 if (r != MAIL_NO_ERROR) {
32 qDebug("Error initializing mbox"); 36 qDebug("Error initializing mbox");
33 mailfolder_free(folder); 37 mailfolder_free(folder);
34 mailstorage_free(storage); 38 mailstorage_free(storage);
39 free(fname);
35 return; 40 return;
36 } 41 }
37 mailmessage_list * env_list = 0; 42 mailmessage_list * env_list = 0;
38 r = mailsession_get_messages_list(folder->fld_session,&env_list); 43 r = mailsession_get_messages_list(folder->fld_session,&env_list);
39 if (r != MAIL_NO_ERROR) { 44 if (r != MAIL_NO_ERROR) {
40 qDebug("Error message list"); 45 qDebug("Error message list");
41 mailfolder_free(folder); 46 mailfolder_free(folder);
42 mailstorage_free(storage); 47 mailstorage_free(storage);
48 free(fname);
43 return; 49 return;
44 } 50 }
45 r = mailsession_get_envelopes_list(folder->fld_session, env_list); 51 r = mailsession_get_envelopes_list(folder->fld_session, env_list);
46 if (r != MAIL_NO_ERROR) { 52 if (r != MAIL_NO_ERROR) {
47 qDebug("Error filling message list"); 53 qDebug("Error filling message list");
48 if (env_list) { 54 if (env_list) {
49 mailmessage_list_free(env_list); 55 mailmessage_list_free(env_list);
50 } 56 }
51 mailfolder_free(folder); 57 mailfolder_free(folder);
52 mailstorage_free(storage); 58 mailstorage_free(storage);
59 free(fname);
53 return; 60 return;
54 } 61 }
55 mailimf_references * refs; 62 mailimf_references * refs;
56 63
57 for(int i = 0 ; i < carray_count(env_list->msg_tab) ; ++i) { 64 for(int i = 0 ; i < carray_count(env_list->msg_tab) ; ++i) {
58 mailmessage * msg; 65 mailmessage * msg;
@@ -100,12 +107,13 @@ void MBOXwrapper::listMessages(const QString & mailbox, QList<RecMail> &target )
100 if (env_list) { 107 if (env_list) {
101 mailmessage_list_free(env_list); 108 mailmessage_list_free(env_list);
102 } 109 }
103 mailfolder_disconnect(folder); 110 mailfolder_disconnect(folder);
104 mailfolder_free(folder); 111 mailfolder_free(folder);
105 mailstorage_free(storage); 112 mailstorage_free(storage);
113 free(fname);
106} 114}
107 115
108QList<Folder>* MBOXwrapper::listFolders() 116QList<Folder>* MBOXwrapper::listFolders()
109{ 117{
110 QList<Folder> * folders = new QList<Folder>(); 118 QList<Folder> * folders = new QList<Folder>();
111 folders->setAutoDelete( false ); 119 folders->setAutoDelete( false );