On Mon, 11 May 2009, Bob Beers wrote:
> On Mon, May 11, 2009 at 5:00 PM, RT Mistler <[email protected]> wrote:
> > Hi,
> >
> > I've been looking at some kernel modules trying to map an embedded
> > devices resources and while going through a driver, I encountered an
> > "if" test that employed "!!", example:
> >
> > if !!function_foo(args) {
> > ...
> > }
> >
> > What does the "!!" do? (I'm familiar with a single "!")
>
> IIANM, it does "!" and then does "!" again, forcing boolean value,
> true or false.
it's not clear why that would make any difference since 0 is boolean
false and everything else is boolean true. so under what
circumstances would doing a double negation change execution
behaviour? or am i missing something?
rday
--
========================================================================
Robert P. J. Day Waterloo, Ontario, CANADA
Linux Consulting, Training and Annoying Kernel Pedantry.
Web page: http://crashcourse.ca
Linked In: http://www.linkedin.com/in/rpjday
Twitter: http://twitter.com/rpjday
========================================================================