From: Jakub Kicinski Date: Fri, 12 Dec 2014 08:17:34 +0000 (+0100) Subject: Swap return value and argument of imap_threaded_capability() X-Git-Tag: 3.12.0~197^2~2 X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=6d36a13352bf5fa16a4adbdba4a70721f6617f84;hp=9f4528e13ec256b719d4d9cbd1c5a836f69aee0b 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. --- diff --git a/src/etpan/imap-thread.c b/src/etpan/imap-thread.c index 229f29e41..66514ff8e 100644 --- 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 index fd61b5df4..30bce7024 100644 --- 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 index 32ecd3861..35fb47f78 100644 --- 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;