Hello Ian, On Sun, 25 Oct 2015 12:40:45 +0000, Ian Campbell <ijc+ub...@hellion.org.uk> wrote: > On Sun, 2015-10-25 at 12:46 +0100, Albert ARIBAUD wrote: > > > > +static u8 last_int_usb; > > > > + > > > > +bool dfu_usb_get_reset(void) > > > > +{ > > > > + return !!(last_int_usb & MUSB_INTR_RESET); > > > > > > The !! is not needed. > > > > Except if you want to be sure that you return 0 or 1 rather than 0 or > > (1 << something). > > Doesn't the bool return type already cause that to happen? (from the > PoV of the caller at least)
When all is said and done, a C bool is a C int, and anyway C does not perform value conversion (except for size and possibly sign extension) on type casts. So no, types, bool or otherwise, do not cause any implicit '!!' to happen. What happens is, wherever C expects a boolean value ('if', 'while'...) it considers 0 to be false and anything else to be true. But that's independent of the value's alleged type. > Ian. Amicalement, -- Albert. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot