[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [Libevent-users] Found a warning in libevent 2.0.21
Yes, it also seems happy with
void (*tptr)() = arc4random_buf;
On Sep 19, 2013, at 6:54 AM, Nick Mathewson <nickm@xxxxxxxxxxxxx> wrote:
> On Tue, Sep 17, 2013 at 9:55 PM, Ralph Castain <rhc@xxxxxxxxxxxx> wrote:
>> I found a really simple solution!
>>
>> #if defined(_EVENT_HAVE_ARC4RANDOM_BUF)
>> /* OSX 10.7 introducd arc4random_buf, so if you build your program
>> * there, you'll get surprised when older versions of OSX fail to run.
>> * To solve this, we can check whether the function pointer is set,
>> * and fall back otherwise. (OSX does this using some linker
>> * trickery.)
>> */
>> {
>> void* tptr = (void*)arc4random_buf;
>> if (tptr != NULL) {
>> return arc4random_buf(buf, n);
>> }
>> }
>> #endif
>>
>> Silences the warning just fine.
>
> Does it still work if you cast it to void (*tptr)() ? ISTR that
> according to the C standard, function pointers can be cast to that,
> but not to void*. (Not that that stops anybody, but it's nice to be
> pedantic when we can.)
> ***********************************************************************
> To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
> unsubscribe libevent-users in the body.
***********************************************************************
To unsubscribe, send an e-mail to majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users in the body.