Instead of finding the next clear bit by calling virBitmapGetBit
in a loop, use the virBitmapNextClearBit helper.
---
src/network/bridge_driver.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 2a61991..b0c5c21 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -4711,13 +4711,11 @@ networkCheckBandwidth(virNetworkObjPtr net,
static ssize_t
networkNextClassID(virNetworkObjPtr net)
{
- size_t ret = 0;
- bool is_set = false;
+ ssize_t ret = 0;
- while (virBitmapGetBit(net->class_id, ret, &is_set) == 0 && is_set)
- ret++;
+ ret = virBitmapNextClearBit(net->class_id, -1);
- if (is_set || virBitmapSetBit(net->class_id, ret) < 0)
+ if (ret < 0 || virBitmapSetBit(net->class_id, ret) < 0)
return -1;
return ret;
--
2.0.5