summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/nntpwrapper.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/libmailwrapper/nntpwrapper.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/nntpwrapper.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp
index 798879d..a766a59 100644
--- a/noncore/net/mail/libmailwrapper/nntpwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/nntpwrapper.cpp
@@ -204,7 +204,9 @@ QList<Folder>* NNTPwrapper::listFolders() {
204 204
205 clist * NNTPwrapper::listAllNewsgroups() { 205QStringList NNTPwrapper::listAllNewsgroups() {
206 login(); 206 login();
207 QStringList res;
207 clist *result = 0; 208 clist *result = 0;
208 clistcell *current; 209 clistcell *current = 0;
209 newsnntp_group_description *list; 210 newsnntp_group_description *group;
211
210 if ( m_nntp ) { 212 if ( m_nntp ) {
@@ -213,7 +215,14 @@ QList<Folder>* NNTPwrapper::listFolders() {
213 int err = newsnntp_list_newsgroups(news, NULL, &result); 215 int err = newsnntp_list_newsgroups(news, NULL, &result);
214 216 if ( err == NEWSNNTP_NO_ERROR && result) {
215 if ( err == NEWSNNTP_NO_ERROR ) { 217 for ( current=clist_begin(result);current!=NULL;current=clist_next(current) ) {
216 return result; 218 group = ( newsnntp_group_description* ) current->data;
219 if (!group||!group->grp_name||strlen(group->grp_name)==0) continue;
220 res.append(group->grp_name);
221 }
217 } 222 }
218 } 223 }
224 if (result) {
225 clist_free(result);
226 }
227 return res;
219} 228}