On Sat, Oct 3, 2020 at 6:32 PM Andy Shevchenko <[email protected]> wrote: > > On Sat, Oct 3, 2020 at 3:56 PM William Breathitt Gray > <[email protected]> wrote: > > On Sat, Oct 03, 2020 at 03:45:04PM +0300, Andy Shevchenko wrote: > > > On Sat, Oct 3, 2020 at 2:37 PM Syed Nayyar Waris <[email protected]> > > > wrote: > > > > On Sat, Oct 3, 2020 at 2:14 PM Andy Shevchenko > > > > <[email protected]> wrote: > > > > > On Sat, Oct 3, 2020 at 2:51 AM Syed Nayyar Waris > > > > > <[email protected]> wrote: > > ... > > > > > > > + map[index] &= ~BITMAP_FIRST_WORD_MASK(start); > > > > > > + map[index] |= value << offset; > > > > > > Side note: I would prefer + 0 here and there, but it's up to you.
Andy what do you mean by the above statement, can you please clarify? Can you please elaborate on the above statement. Thanks > > > > > > > > > + map[index + 1] &= ~BITMAP_LAST_WORD_MASK(start + > > > > > > nbits); > > > > > > + map[index + 1] |= (value >> space); > > > > > > By the way, what about this in the case of start=0, nbits > 64? > > > space == 64 -> UB. > > > > > > (And btw parentheses are redundant here) > > > > I think this is the same situation as before: we should document that > > nbits must be between 1 and BITS_PER_LONG. > > At least documented, yes. > > -- > With Best Regards, > Andy Shevchenko

