Taylor Blau <me@xxxxxxxxxxxx> writes: > On Tue, Sep 07, 2021 at 06:35:10PM -0700, Carlo Arenas wrote: >> On Tue, Sep 7, 2021 at 6:10 PM Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> wrote: >> > + if (!(flags & WRITE_REV) && !(flags & WRITE_REV_VERIFY)) >> > + return NULL; >> >> I see this expression matches exactly the logic from 8ef50d9958 which >> is why I presume >> you used it, but the simpler (and logically equivalent[1]) : >> >> if !((flags & WRITE_REV) || (flags & WRITE_REV_VERIFY)) > > Even simpler would be: > > if (!(flags & (WRITE_REV | WRITE_REV_VERIFY))) > > although with optimization flags other than -O0, it seems that each of > these three produce the same result [1], so I don't think that it > matters much either way ;-). If all result in the same binary, the only deciding factor would be how readable the code is to human readers. I too find that your version, "we care about these two bits---if flags does not have either of them, then...", the easiest to follow. But the original is not unreadable and is good enough once it has already been written. Thanks.