Mauro Carvalho Chehab wrote:hi manu,Em Qua, 2007-10-10 Ã s 11:59 -0400, Alan Cox escreveu:On Wed, Oct 10, 2007 at 12:35:41PM -0300, Mauro Carvalho Chehab wrote:LOLEm Qua, 2007-10-10 Ã s 00:18 -0400, Michael Krufky escreveu:<rant>Is this illegal as per kernel codingstyle?Yes, it is. CodingStyle states:
No.. "Illegal" means prohibited by law. Its merely wrong 8)
</rant>
Yes, this is not a severe CodingStyle violation. Still, the above codeThe proper fix is just to replace the offended code by this:Lots of code uses
err=foo();
if (error)
goto error;
if ((err = foo()) < 0)
so I would'y worry too much. The split one however clearer and also
safer.
is better than the used one.
Since, on your example, it is clear that the programmer wanted to test
if the value is less than zero.
The code:
if ( (err=foo()) )
should also indicate an operator mistake of using =, instead of ==.
Probably, source code analyzers like Coverity will complain about the
above.
If not violating CodingStyle, I would rather prefer to code this as:
if ( !(err=foo() ) or, even better, using:
if ( (err=foo()) != 0)
clearly indicating that it is tested if the value is not zero.
Even being a quite simple issue, I would prefer if Jiri can fix it.
When you have only some few lines of code you can write
err = foo()
if (err) {
do whatever
}
doesn't matter ..
But when you have hell a lot of code, checking error's what you mention is insane.
ie,
if ((err = foo()) expr ) is better.
http://lkml.org/lkml/2007/2/4/56
Manu
_______________________________________________
v4l-dvb-maintainer mailing list
v4l-dvb-maintainer@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/v4l-dvb-maintainer