Hi, On Wed, 1 Feb 2006, Akinobu Mita wrote: > +static __inline__ int generic_test_le_bit(unsigned long nr, > + __const__ unsigned long *addr) > +{ > + __const__ unsigned char *tmp = (__const__ unsigned char *) addr; > + return (tmp[nr >> 3] >> (nr & 7)) & 1; > +} The underscores are not needed. For the inline version I would prefer this version: { const unsigned char *tmp = (const unsigned char *)addr; return (tmp[nr >> 3] & (unsigned char)(1 << (nr & 7))) != 0; } Although this would be a good alternative as well: { return (addr[nr >> 5] & (1 << ((nr ^ 24) & 31))) != 0; } bye, Roman