commit 6d36a13352bf5fa16a4adbdba4a70721f6617f84
parent 9f4528e13ec256b719d4d9cbd1c5a836f69aee0b
Author: Jakub Kicinski <kubakici@wp.pl>
Date: Fri, 12 Dec 2014 09:17:34 +0100
Swap return value and argument of imap_threaded_capability()
imap_threaded_capability() is the only imap_threaded_*() function
which does not return status, instead status is written to a pointer
passed as argument and function returns retrieved capabilities. To
unify behaviour of all imap_threaded_*() functions make it return
status and pass capabilities through an out argument.
Diffstat:
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/etpan/imap-thread.c b/src/etpan/imap-thread.c
@@ -615,7 +615,7 @@ static void capability_run(struct etpan_thread_op * op)
}
-struct mailimap_capability_data * imap_threaded_capability(Folder *folder, int *ok)
+int imap_threaded_capability(Folder *folder, struct mailimap_capability_data ** caps)
{
struct capa_param param;
struct capa_result result;
@@ -629,10 +629,10 @@ struct mailimap_capability_data * imap_threaded_capability(Folder *folder, int *
debug_print("capa %d\n", result.error);
- if (ok)
- *ok = result.error;
+ if (result.error == MAILIMAP_NO_ERROR)
+ *caps = result.caps;
- return result.caps;
+ return result.error;
}
diff --git a/src/etpan/imap-thread.h b/src/etpan/imap-thread.h
@@ -47,7 +47,7 @@ void imap_done(Folder * folder);
int imap_threaded_connect(Folder * folder, const char * server, int port);
int imap_threaded_connect_ssl(Folder * folder, const char * server, int port);
-struct mailimap_capability_data * imap_threaded_capability(Folder *folder, int *ok);
+int imap_threaded_capability(Folder *folder, struct mailimap_capability_data ** caps);
#ifndef G_OS_WIN32
int imap_threaded_connect_cmd(Folder * folder, const char * command,
diff --git a/src/imap.c b/src/imap.c
@@ -835,12 +835,12 @@ static int imap_get_capabilities(IMAPSession *session)
{
struct mailimap_capability_data *capabilities = NULL;
clistiter *cur;
- int result = -1;
+ int result;
if (session->capability != NULL)
return MAILIMAP_NO_ERROR;
- capabilities = imap_threaded_capability(session->folder, &result);
+ result = imap_threaded_capability(session->folder, &capabilities);
if (result != MAILIMAP_NO_ERROR) {
return result;