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

i.e., the original code is

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

What on earth is this supposed to do?

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

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

-Kyle H

On 1/31/06, Fr=E9d=E9ric Donnat wrote:
> Hi all,
>
> I 've already seen some mail about this commit.
> http://cvs.openssl.org/chngview?cn=3D13190
>
> It sounds to me like a typo, but ...
> - Comment is "add missing parentheses"
> - diff is as follow
> - if (!data->state !=3D BIO_CONN_S_OK)
> + if (!(data->state !=3D 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 chan=

ging this?
>
> Thanks in advance.
> Regards
>
> Fred
> __________________________________________________ ____________________
> OpenSSL Project http://www.openssl.org
> Development Mailing List openssl-dev@openssl.org
> Automated List Manager majordomo@openssl.org
>

__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org