[linux-dvb] Re: [PATCH] LGDT3302 Frontend Driver
Peter Beutner
p.beutner at gmx.net
Tue Jun 28 17:41:16 CEST 2005
Michael Krufky schrieb:
> Peter Beutner wrote:
>
>> Ben Dooks schrieb:
>>
>>>> I dont see why the code you posted above will break with dprintk
>>>> defined like this:
>>>> #define dprintk(args...) if (debug) printk(KERN_DEBUG "lgdt3302: "
>>>> args)
>>>>
>>>> Imo:
>>>>
>>>> if(foo)
>>>> if (debug) printk(KERN_DEBUG "lgdt3302: " args);
>>>> else
>>>> bar();
>>>>
>>>> should work like intended.
>>>
>>>
>>>
>>>
>>> The else will be part of the if (debug), not the if (foo) as
>>> intended. This means that changing the dprintk macro would
>>> end up breaking a number of things. Best to avoid these problems
>>> in the first place.
>>>
>> I see. Thx for the explanation.
>
>
> Doesn't this cover all bases:
>
> #define dprintk(args...) { if (debug) printk(KERN_DEBUG "lgdt3302: "
> args); }
>
> ???
>
No,
this would resolve to:
if(foo)
{ if (debug) printk(KERN_DEBUG "lgdt3302: " args); };
else
bar();
where gcc would complain about the semicolon before else
with a: syntax error before »else«.
CU
Peter
More information about the linux-dvb
mailing list