Oh crap... you're right. I made a stupid typo. For some reason I was
thinking the prefix increment was coming before the entire statement (though
I agree it shouldn't) and when I typed in a little 4 line test program I
mis-set the boolean. Boy do I feel stupid. Sorry about that. :-\
----- Original Message -----
From: "Giuliano Gavazzi" <eximlists@???>
To: "Rick Ennis" <rge1@???>
Cc: "Exim-users" <Exim-users@???>
Sent: Friday, December 13, 2002 11:17 AM
Subject: Re: [Exim] more 4.11 problems :-/
> At 10:51 -0500 2002/12/13, Rick Ennis wrote:
> >Philip,
> >
> >I think I found it. In "smtp_read_command()", smtp_in.c, line 440, your
> >
> > if (!p->is_mail_cmd &&
> > ++nonmail_command_count > smtp_accept_max_nonmail)
> >
> >the "++" is incrementing the variable before any of the 'if' is
evaluated.
> >It's not conditionally incremented as intended. So something like...
> >
> > if (!p->is_mail_cmd)
> > if (++nonmail_command_count > smtp_accept_max_nonmail)
> >
> >probably ought to fix it.
>
>
> aren't the two equivalent? The second expression is not evalued
> unless the first is true. If this is defined behaviour and if a
> compiler does differently then the bug is in the compiler.
>
> Giuliano
>
> --
>
> ## List details at http://www.exim.org/mailman/listinfo/exim-users Exim
details at
http://www.exim.org/ ##
>
>
>