forked from xuos/xiuos
Fix bitmap64 corner case.
This commit is contained in:
parent
4803239498
commit
29f1df2eea
|
@ -47,9 +47,9 @@ static inline int bitmap64_alloc(struct bitmap64* bitmap)
|
|||
{
|
||||
int free_bit = -1;
|
||||
// free bit is the first 0 bit, from [1, 64]
|
||||
free_bit = __builtin_ffsll(~(bitmap->map));
|
||||
free_bit = __builtin_ffsl(~(uint64_t)(bitmap->map));
|
||||
// handle if bitmap is full (no using 64th bit here)
|
||||
if (free_bit == 64) {
|
||||
if (free_bit == 0) {
|
||||
return -1;
|
||||
}
|
||||
assert(free_bit < 64 && free_bit >= 1);
|
||||
|
|
Loading…
Reference in New Issue