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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list