Re: A pettiness question.

From: Ustyugov Roman
Date: Wed Sep 21 2005 - 02:57:09 EST


> Hi, All.
>
> I found there are use double operator ! continuously sometimes in
> kernel.
> e.g:
>
> static inline int is_page_cache_freeable(struct page *page)
> {
> return page_count(page) - !!PagePrivate(page) == 2;
> }
>
> Who would like tell me why write like above?
>
>
> Thanks in advanced.
>
>
> Liyu

For example,

int test = 5;
!test will be 0, !!test will be 1.

This give a enum of {0,1}. If test is not 0, !!test will give 1, otherwise 0.

Am I right?
--
RomanU
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/