[alsa-devel] Kill snd_assert()
tiwai at suse.de
Mon Aug 11 11:05:45 CEST 2008
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.
> I have no strong objections to accept this change as you proposed. Thank
> you for your work.
OK, good to hear.
More information about the Alsa-devel