On Wed, 6 Mar 2024 at 05:01, Akihiko Odaki <akihiko.od...@daynix.com> wrote:
>
> On 2024/03/05 22:28, Peter Maydell wrote:
> > On Tue, 5 Mar 2024 at 07:36, Akihiko Odaki <akihiko.od...@daynix.com> wrote:
> >> @@ -206,7 +206,7 @@ static int fix_dtb(struct va_space *vs, QEMU_Elf *qe)
> >>               va_space_set_dtb(vs, s->cr[3]);
> >>               printf("DTB 0x%016"PRIx64" has been found from CPU #%zu"
> >>                       " as system task CR3\n", vs->dtb, i);
> >> -            return !(va_space_resolve(vs, SharedUserData));
> >> +            return !!(va_space_resolve(vs, SharedUserData));
> >
> > If the function returns bool type, we don't need the !! idiom
> > to coerce the value to bool.
>
> va_space_resolve() returns void *.

Yes, and so when we return that value, because the function
return type is 'bool' it gets correctly turned into a
true/false value. You only need !! if you want to get
a 0-or-1 value in an int return type. Or does the compiler
otherwise issue a warning here?

thanks
-- PMM

Reply via email to