Re: [linux-usb-devel] Re: [BK PATCH] USB changes for 2.5.34

Daniel Phillips
2002-09-16T19:35:10Z

On Monday 16 September 2002 21:36, Thunder from the hill wrote:
> Hi,
>
> On Mon, 16 Sep 2002, Daniel Phillips wrote:
> > On Monday 16 September 2002 20:35, Thunder from the hill wrote:
> > > !assert(typeof((fool)->next) == typeof(fool));
> >
> > You meant:
> >
> > assert(typeof((fool)->next) != typeof(fool));
>
> No, I mean "Never assert that the one next to a fool must be a fool,
> either. You might be wrong."

A proper assert does not return a value, by definition.  It relies purely
on side effects, that is, it causes a screeching halt if the logical
expression was false.  It's always wrong to use an asssert in an expression,
and since BUG_ON is just assert(!expression) this applies to BUG_ON as
well.  The compiler should prevent you from making this mistake.

What I *thought* you meant was: "if the next fool that comes along is
exactly the same as the last fool, run away screaming".  There's some wisdom
in that.

--
Daniel