From: Kevin McCarthy Date: Thu, 29 Jan 2015 23:40:34 +0000 (-0800) Subject: Clean up sasl warnings. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8d0c037210d9d6229ada56c7296486fe24733547;p=neomutt Clean up sasl warnings. These were caused by assigning callback functions to the sasl_callback_t.proc member. The callback type doesn't list any parameters, because parameters vary by callback. The fix was simply assigning a cast. Cyrus-sasl2 has a sasl_callback_ft typedef that their sample code uses for this purpose, but it is in a different header, saslplug.h, and isn't in their 1.5 tree. Since this is probably not portable to other implementations, I just added an equivalent cast. --- diff --git a/mutt_sasl.c b/mutt_sasl.c index c568ecac8..7d7388c48 100644 --- a/mutt_sasl.c +++ b/mutt_sasl.c @@ -142,7 +142,7 @@ int mutt_sasl_start (void) /* set up default logging callback */ callbacks[0].id = SASL_CB_LOG; - callbacks[0].proc = mutt_sasl_cb_log; + callbacks[0].proc = (int (*)(void))mutt_sasl_cb_log; callbacks[0].context = NULL; callbacks[1].id = SASL_CB_LIST_END; @@ -270,17 +270,17 @@ sasl_callback_t* mutt_sasl_get_callbacks (ACCOUNT* account) callback = mutt_sasl_callbacks; callback->id = SASL_CB_USER; - callback->proc = mutt_sasl_cb_authname; + callback->proc = (int (*)(void))mutt_sasl_cb_authname; callback->context = account; callback++; callback->id = SASL_CB_AUTHNAME; - callback->proc = mutt_sasl_cb_authname; + callback->proc = (int (*)(void))mutt_sasl_cb_authname; callback->context = account; callback++; callback->id = SASL_CB_PASS; - callback->proc = mutt_sasl_cb_pass; + callback->proc = (int (*)(void))mutt_sasl_cb_pass; callback->context = account; callback++;