Diffstat (limited to 'noncore/net/mail/libmailwrapper/nntpwrapper.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/nntpwrapper.cpp | 21 |
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() { - clist * NNTPwrapper::listAllNewsgroups() { +QStringList NNTPwrapper::listAllNewsgroups() { login(); + QStringList res; clist *result = 0; - clistcell *current; - newsnntp_group_description *list; + clistcell *current = 0; + newsnntp_group_description *group; + if ( m_nntp ) { @@ -213,7 +215,14 @@ QList<Folder>* NNTPwrapper::listFolders() { int err = newsnntp_list_newsgroups(news, NULL, &result); - - if ( err == NEWSNNTP_NO_ERROR ) { - return result; + if ( err == NEWSNNTP_NO_ERROR && result) { + for ( current=clist_begin(result);current!=NULL;current=clist_next(current) ) { + group = ( newsnntp_group_description* ) current->data; + if (!group||!group->grp_name||strlen(group->grp_name)==0) continue; + res.append(group->grp_name); + } } } + if (result) { + clist_free(result); + } + return res; } |