compiler warning on freebsd

Alexey Melnikov alexey.melnikov at isode.com
Thu Sep 15 04:18:29 EDT 2011


Julien ÉLIE wrote:

>Hi Alexey,
>  
>
Hi Julien,

>>>>>No problem if I do not use the "strict-prototypes" warning with GCC.
>>>>>
>>>>>Line 353 is:
>>>>>int (*proc)();
>>>>>in sasl_callback_t definition.          
>>>>>
>>>>I might have fixes for these in my private fork. I will try to apply
>>>>them to the HEAD.
>>>>        
>>>>
>>>Oh, that's great! Many thanks.
>>>We're using Cyrus SASL for the AUTHINFO SASL extension of the news 
>>>server INN.
>>>      
>>>
>>This is on the trunk now.
>>    
>>
>
>I have just tried to build Cyrus SASL 2.1.25 but it still does not work.
>I see that line 353 is now:
>    int (*proc)(void);
>
>
>I now have the following failures with GCC 4.6.1 (on x86_64 GNU/Linux):
>
>
>imap_connection.c:1290: error: initialization from incompatible pointer type
>imap_connection.c:1292: error: initialization from incompatible pointer type
>imap_connection.c:1294: error: initialization from incompatible pointer type
>imap_connection.c:1296: error: initialization from incompatible pointer type
>make[2]: *** [imap_connection.o] Error 1
>  
>
This is not Cyrus SASL code, right? If that is the case, you would need 
to update it to typecast pointers to functions.
saslplug.h defines:

typedef int (*sasl_callback_ft)(void);

>caused by the second arguments of:
>
>/* callbacks we support */
>static sasl_callback_t saslcallbacks[] = {
>  {
>    SASL_CB_GETREALM, &getsimple, NULL
>
This needs to become something like:

    SASL_CB_GETREALM, (sasl_callback_ft)&getsimple, NULL

>  }, {
>    SASL_CB_USER, &getsimple, NULL
>  }, {
>    SASL_CB_AUTHNAME, &getsimple, NULL
>  }, {
>    SASL_CB_PASS, &getsecret, NULL
>  }, {
>    SASL_CB_LIST_END, NULL, NULL
>  }
>};
>
etc.

>where prototype of the first function is:
>
>static int getsimple(void *context UNUSED,
>                     int id,
>                     const char **result,
>                     unsigned *len)
>




More information about the Cyrus-sasl mailing list