Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jan 2005 21:56:01 -0800
From:      Chris Pressey <cpressey@catseye.mine.nu>
To:        freebsd-ports@freebsd.org
Subject:   Re: FreeBSD Port: qmail-1.03_3
Message-ID:  <20050125215601.0f324ba0.cpressey@catseye.mine.nu>
In-Reply-To: <41F6F431.6060005@tenebras.com>
References:  <41F6F431.6060005@tenebras.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 25 Jan 2005 17:36:49 -0800
Michael Sierchio <kudzu@tenebras.com> wrote:

> [...]
> -     while ((k > i) && (cmds.s[k - 1] == ' ') || (cmds.s[k - 1] == '\t'))
> +     while ((k > i) && ((cmds.s[k - 1] == ' ') || (cmds.s[k - 1] == '\t')))
> 
> [...]  There is no semantic difference between the two, [...]

Oh?  That's news to me.  GCC must be broken, then.  Observe:

int main()
{
    int i, j, k;
    for (i = 0; i <= 1; i++) {
	for (j = 0; j <= 1; j++) {
	    for (k = 0; k <= 1; k++) {
		printf("i == %d, j == %d, k == %d    "
		       "i && j || k == %d    "
		       "i && (j || k) == %d\n",
		       i, j, k, (i && j || k), (i && (j || k))
		);
	    }
        }
    }
}

-------[ output ]------
i == 0, j == 0, k == 0    i && j || k == 0    i && (j || k) == 0
i == 0, j == 0, k == 1    i && j || k == 1    i && (j || k) == 0
i == 0, j == 1, k == 0    i && j || k == 0    i && (j || k) == 0
i == 0, j == 1, k == 1    i && j || k == 1    i && (j || k) == 0
i == 1, j == 0, k == 0    i && j || k == 0    i && (j || k) == 0
i == 1, j == 0, k == 1    i && j || k == 1    i && (j || k) == 1
i == 1, j == 1, k == 0    i && j || k == 1    i && (j || k) == 1
i == 1, j == 1, k == 1    i && j || k == 1    i && (j || k) == 1

-Chris



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050125215601.0f324ba0.cpressey>