Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/* Find the first set bit
 * i.e. least signifigant 1 bit:
 * 0 => 0
 * 1 => 1
 * 2 => 2
 * 3 => 1
 * 4 => 3
 */

int
ffs(unsigned int mask)
{
        int i;

        if (!mask)
                return 0;
        i = 1;
        while (!(mask & 1)){
                i++;
                mask = mask >> 1;
        }
        return i;
}