]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Use virBitmapNextClearBit in networkNextClassID
authorJán Tomko <jtomko@redhat.com>
Fri, 6 Mar 2015 16:09:49 +0000 (17:09 +0100)
committerJán Tomko <jtomko@redhat.com>
Tue, 10 Mar 2015 12:45:51 +0000 (13:45 +0100)
Instead of finding the next clear bit by calling virBitmapGetBit
in a loop, use the virBitmapNextClearBit helper.

src/network/bridge_driver.c

index 9637371c32b4f2e3a6f3c5a7f164b14380a85c9b..5752acb214efb8d5ee8a376257c8f67592072fce 100644 (file)
@@ -4672,13 +4672,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;