瀏覽代碼

Fix undefined shift by 64bits

Samuel Thibault 9 年之前
父節點
當前提交
4f4618cdfd
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      src/common/bitmap.c

+ 3 - 3
src/common/bitmap.c

@@ -219,9 +219,9 @@ int starpu_bitmap_first(struct starpu_bitmap * b)
 
 int starpu_bitmap_has_next(struct starpu_bitmap * b, int e)
 {
-	int nb_long = e / LONG_BIT;
-	int nb_bit = e % LONG_BIT;
-	unsigned long mask = (~0ul) << (nb_bit + 1);
+	int nb_long = (e+1) / LONG_BIT;
+	int nb_bit = (e+1) % LONG_BIT;
+	unsigned long mask = (~0ul) << nb_bit;
 	if(b->bits[nb_long] & mask)
 		return 1;
 	for(nb_long++; nb_long < b->size; nb_long++)