[libvirt] [PATCH 1/3] Use virBitmapNextClearBit in networkNextClassID

Ján Tomko jtomko at redhat.com
Fri Mar 6 17:02:33 UTC 2015


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




More information about the libvir-list mailing list