At Mon, 11 Aug 2008 10:52:23 +0200 (CEST), Jaroslav Kysela wrote:
On Mon, 11 Aug 2008, Takashi Iwai wrote:
Hi,
as some people already mentioned, we have a pretty ugly macro, snd_assert(). Actually, this macro is sometimes useful, but the implementation including the code flow in arguments is really bad.
I tried to kill this, either the following way:
- replace snd_assert(cond, flow...); with if (snd_BUG_ON(!cond)) flow...;
For my eyes, many uses of snd_assert with direct 'return VALUE' are more "sexy", easy understandable and smaller.
There are pros and cons for this, too. One merit of snd_assert() is its shortness, thus easier to add. But, mining the code flow is dangerous especially if you want to add a paired operation like locks or move the assert to another place. With the explicit code flow, you could follow more easily.
But, as mentioned, when goto is used to change the code flow, we end up with a compiler warning. It should be eliminated.
Right.
I have no strong objections to accept this change as you proposed. Thank you for your work.
OK, good to hear.
thanks,
Takashi