Subject: Re: CVS commit: src/usr.sbin/installboot
To: None <source-changes@netbsd.org>
From: Christos Zoulas <christos@astron.com>
List: source-changes
Date: 10/30/2006 15:59:21
In article <20061030074656.GJ1205@snowdrop.l8s.co.uk>,
David Laight <david@l8s.co.uk> wrote:
>On Mon, Oct 30, 2006 at 07:03:34AM +0000, Havard Eidnes wrote:
>>
>> Module Name: src
>> Committed By: he
>> Date: Mon Oct 30 07:03:34 UTC 2006
>>
>> Modified Files:
>> src/usr.sbin/installboot: ffs.c
>>
>> Log Message:
>> In order to avoid warnings (which is converted to error with -Werror)
>> about empty bodies in an if-statement, we need to make add some proprocessor
>> conditionals around these if statements. FFS byte-swapping is sometimes
>> compiled out of install-media versions of this program.
>
>Having to do that is just plain stupid....
>
>I've also deliberatly used:
>
>#define x(y) if (y); else {...}
>
>To avoid having to wrap the expansion inside do ... while (0);
How is one supposed to use this macro? As
a = 3;
x(y)
b = 4;
or
a = 3;
x(y);
b = 4;
And then doesn't this completely screw up:
if (z)
x(y);
else
a = 4;
This is why such macros are not the best thing :-)
christos