On Mon, Jun 6, 2011 at 23:57, Georg Brandl <g.bra...@gmx.net> wrote: > On 06/07/11 05:20, brett.cannon wrote: > > http://hg.python.org/cpython/rev/fc282e375703 > > changeset: 70695:fc282e375703 > > user: Brett Cannon <br...@python.org> > > date: Mon Jun 06 20:20:36 2011 -0700 > > summary: > > Remove some extraneous parentheses and swap the comparison order to > > prevent accidental assignment. > > > > Silences a warning from LLVM/clang 2.9. > > Swapping the comparison order here seems a bit inconsistent to me. There > are > lots of others around (e.g. "len == 0" in the patch context below). Why is > this one so special? > > Old habit on how to do comparisons in C. Because C treats assignment as an expression it means comparisons can accidentally become an assignment if you accidentally leave out an = sign. By reversing this order it is simply not possible to have that silent bug and instead you would get a compiler error about trying to assign to a constant.
I'll revert that part of the change. > I think that another developer even got told off once for these kinds of > comparisons. > > I hope the Clang warning is only about the parentheses. > Yes, Clang only warned about the parentheses. -Brett > > Georg > > > files: > > Modules/arraymodule.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > > > diff --git a/Modules/arraymodule.c b/Modules/arraymodule.c > > --- a/Modules/arraymodule.c > > +++ b/Modules/arraymodule.c > > @@ -2091,7 +2091,7 @@ > > if (len == 0) { > > return PyUnicode_FromFormat("array('%c')", (int)typecode); > > } > > - if ((typecode == 'u')) > > + if ('u' == typecode) > > v = array_tounicode(a, NULL); > > else > > v = array_tolist(a, NULL); > > > > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/brett%40python.org >
_______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com