jeff> On Tue, Apr 01, 2003 at 07:22:37AM -0800, Martin J. Bligh wrote:
>> drivers/base/node.c: In function `register_node_type':
>> drivers/base/node.c:96: warning: suggest parentheses around assignment used as truth value
>> drivers/base/memblk.c: In function `register_memblk_type':
>> drivers/base/memblk.c:54: warning: suggest parentheses around assignment used as truth value
>>
>> Bah.
>>
>> --- linux-2.5.66-mm2/drivers/base/node.c 2003-04-01 06:40:02.000000000 -0800
>> +++ 2.5.66-mm2/drivers/base/node.c 2003-04-01 06:37:32.000000000 -0800
>> @@ -93,7 +93,7 @@ int __init register_node_type(void)
>> {
>> int error;
>> if (!(error = devclass_register(&node_devclass)))
>> - if (error = driver_register(&node_driver))
>> + if ((error = driver_register(&node_driver)))
>> devclass_unregister(&node_devclass);
jeff> Personally, I feel statements like these are prone to continual error
jeff> and confusion. I would prefer to break each test like this out into
jeff> separate assignment and test statements. Combining them decreases
jeff> readability, while saving a paltry few extra bytes of source code.
jeff> Sure, the gcc warning is silly, but the code is a bit obtuse too.
I think:
- gcc warning is good, normally you want to test, not assignation
- Linus style for that is:
if ((error = driver_register(&node_driver)) != 0)
which sounds more logical. the double parens things is just a bad
hack IMHO.
Later, Juan.
-- In theory, practice and theory are the same, but in practice they are different -- Larry McVoy - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/