I forget the order of precedence -- does the unary ! have a higher
priority than the comparison operator != ?

i.e., the original code is

if (!(data->state) != BIO_CONN_S_OK)

What on earth is this supposed to do?

data->state == (anything except 0):
!(data->state) == 0.
if (0 != BIO_CONN_S_OK)?

data->state == 0:
!(data->state) == 1.
if (1 != BIO_CONN_S_OK)?

-Kyle H

On 1/31/06, Frédéric Donnat <[EMAIL PROTECTED]> wrote:
> Hi all,
>
> I 've already seen some mail about this commit.
> http://cvs.openssl.org/chngview?cn=13190
>
> It sounds to me like a typo, but ...
>  - Comment is "add missing parentheses"
>  - diff is as follow
> -               if (!data->state != BIO_CONN_S_OK)
> +               if (!(data->state != BIO_CONN_S_OK))
>
> This is chnaging the beahavior of static long conn_ctrl(BIO *b, int cmd, long 
> num, void *ptr) function.
> I think it is a typo (just like some other epople using openssl).
>
> Nils, could you please confirm me that, or explain me the reason why changing 
> this?
>
> Thanks in advance.
> Regards
>
> Fred
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> Development Mailing List                       openssl-dev@openssl.org
> Automated List Manager                           [EMAIL PROTECTED]
>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to