commit 956154e06e9130e75cac30a18dddfa04bda347ba
parent 06c2e75a76a4827e14c7e70b7c35bb434f22c8d5
Author: Quentin Carbonneaux <quentin.carbonneaux@yale.edu>
Date: Fri, 26 Feb 2016 13:55:13 -0500
dirty fix bogus bsiter()
Diffstat:
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/lisc/util.c b/lisc/util.c
@@ -328,15 +328,16 @@ bsiter(BSet *bs, uint *elt)
{
uint i;
- for (i = *elt; i < bsmax(bs); i++) {
+ for (i=*elt;; i++) {
while (i < bsmax(bs) && !bs->t[i/NBit])
i = (i + NBit) & -NBit;
+ if (i >= bsmax(bs))
+ return 0;
if (bshas(bs, i)) {
*elt = i;
return 1;
}
}
- return 0;
}
void