FreeBSD Port: qmail-1.03_3
Chris Pressey
cpressey at catseye.mine.nu
Tue Jan 25 21:55:54 PST 2005
On Tue, 25 Jan 2005 17:36:49 -0800
Michael Sierchio <kudzu at 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
More information about the freebsd-ports
mailing list