[libvirt] [PATCH 2/3] Return bool in virBitmapGetBit

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


Most of the callers use the pattern:
bool b;
ignore_value(virBitmapGetBit(.., &b));
if (b) {
    ...
}

And the rest treats the failure (which can only happen
when the requested bit is out of bitmap bounds) the same
as they treat a 'false' bit.
---
 src/conf/domain_conf.c        |  4 +---
 src/conf/node_device_conf.c   |  4 +---
 src/conf/snapshot_conf.c      |  6 ++----
 src/conf/storage_conf.c       |  4 +---
 src/libxl/libxl_domain.c      |  4 +---
 src/libxl/libxl_driver.c      |  5 +----
 src/nodeinfo.c                |  6 +-----
 src/qemu/qemu_capabilities.c  |  8 +++-----
 src/qemu/qemu_command.c       | 12 +-----------
 src/qemu/qemu_driver.c        | 15 +++------------
 src/qemu/qemu_process.c       | 13 ++++---------
 src/storage/storage_backend.c |  4 +---
 src/test/test_driver.c        |  5 +----
 src/util/virbitmap.c          | 13 +++++--------
 src/util/virbitmap.h          |  6 +++---
 src/util/vircgroup.c          |  4 +---
 src/util/virdnsmasq.c         |  7 ++-----
 src/util/virportallocator.c   | 14 ++------------
 src/util/virprocess.c         |  9 ++-------
 src/xen/xen_driver.c          |  4 +---
 src/xen/xend_internal.c       |  5 +----
 tests/virbitmaptest.c         | 16 +++-------------
 tools/virsh-domain.c          |  6 ++----
 23 files changed, 43 insertions(+), 131 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 01a3fbc..dc612e9 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -3107,7 +3107,6 @@ virDomainDefRejectDuplicateControllers(virDomainDefPtr def)
     virDomainControllerDefPtr cont;
     size_t nbitmaps = 0;
     int ret = -1;
-    bool b;
     size_t i;
 
     memset(max_idx, -1, sizeof(max_idx));
@@ -3133,8 +3132,7 @@ virDomainDefRejectDuplicateControllers(virDomainDefPtr def)
         if (max_idx[cont->type] == -1)
             continue;
 
-        ignore_value(virBitmapGetBit(bitmaps[cont->type], cont->idx, &b));
-        if (b) {
+        if (virBitmapGetBit(bitmaps[cont->type], cont->idx)) {
             virReportError(VIR_ERR_XML_ERROR,
                            _("Multiple '%s' controllers with index '%d'"),
                            virDomainControllerTypeToString(cont->type),
diff --git a/src/conf/node_device_conf.c b/src/conf/node_device_conf.c
index f9c9b6f..9dae710 100644
--- a/src/conf/node_device_conf.c
+++ b/src/conf/node_device_conf.c
@@ -439,9 +439,7 @@ char *virNodeDeviceDefFormat(const virNodeDeviceDef *def)
             virInterfaceLinkFormat(&buf, &data->net.lnk);
             if (data->net.features) {
                 for (i = 0; i < VIR_NET_DEV_FEAT_LAST; i++) {
-                    bool b;
-                    ignore_value(virBitmapGetBit(data->net.features, i, &b));
-                    if (b) {
+                    if (virBitmapGetBit(data->net.features, i)) {
                         virBufferAsprintf(&buf, "<feature name='%s'/>\n",
                                           virNetDevFeatureTypeToString(i));
                     }
diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c
index a0667c2..6692668 100644
--- a/src/conf/snapshot_conf.c
+++ b/src/conf/snapshot_conf.c
@@ -465,7 +465,6 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
     virBitmapPtr map = NULL;
     size_t i;
     int ndisks;
-    bool inuse;
 
     if (!def->dom) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -500,7 +499,7 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
             goto cleanup;
         }
 
-        if (virBitmapGetBit(map, idx, &inuse) < 0 || inuse) {
+        if (virBitmapGetBit(map, idx)) {
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                            _("disk '%s' specified twice"),
                            disk->name);
@@ -553,8 +552,7 @@ virDomainSnapshotAlignDisks(virDomainSnapshotDefPtr def,
     for (i = 0; i < def->dom->ndisks; i++) {
         virDomainSnapshotDiskDefPtr disk;
 
-        ignore_value(virBitmapGetBit(map, i, &inuse));
-        if (inuse)
+        if (virBitmapGetBit(map, i))
             continue;
         disk = &def->disks[ndisks++];
         if (VIR_ALLOC(disk->src) < 0)
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index 4c1f05d..e00220b 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -1567,7 +1567,6 @@ virStorageVolTargetDefFormat(virStorageVolOptionsPtr options,
 
     if (options->featureToString && def->features) {
         size_t i;
-        bool b;
         bool empty = virBitmapIsAllClear(def->features);
 
         if (empty) {
@@ -1578,8 +1577,7 @@ virStorageVolTargetDefFormat(virStorageVolOptionsPtr options,
         }
 
         for (i = 0; i < VIR_STORAGE_FILE_FEATURE_LAST; i++) {
-            ignore_value(virBitmapGetBit(def->features, i, &b));
-            if (b)
+            if (virBitmapGetBit(def->features, i))
                 virBufferAsprintf(buf, "<%s/>\n",
                                   options->featureToString(i));
         }
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index 9af5758..1e2e87f 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -1093,9 +1093,7 @@ libxlDomainSetVcpuAffinities(libxlDriverPrivatePtr driver, virDomainObjPtr vm)
         cpumask = def->cputune.vcpupin[vcpu]->cpumask;
 
         for (i = 0; i < virBitmapSize(cpumask); ++i) {
-            bool bit;
-            ignore_value(virBitmapGetBit(cpumask, i, &bit));
-            if (bit)
+            if (virBitmapGetBit(cpumask, i))
                 VIR_USE_CPU(cpumap, i);
         }
 
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 88fa6ff..3709d64 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -2051,7 +2051,6 @@ libxlDomainGetVcpuPinInfo(virDomainPtr dom, int ncpumaps,
     virBitmapPtr cpumask = NULL;
     int maxcpu, hostcpus, vcpu, pcpu, n, ret = -1;
     unsigned char *cpumap;
-    bool pinned;
 
     virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
                   VIR_DOMAIN_AFFECT_CONFIG, -1);
@@ -2100,9 +2099,7 @@ libxlDomainGetVcpuPinInfo(virDomainPtr dom, int ncpumaps,
         cpumask = vcpupin_list[n]->cpumask;
         cpumap = VIR_GET_CPUMAP(cpumaps, maplen, vcpu);
         for (pcpu = 0; pcpu < maxcpu; pcpu++) {
-            if (virBitmapGetBit(cpumask, pcpu, &pinned) < 0)
-                goto cleanup;
-            if (!pinned)
+            if (!virBitmapGetBit(cpumask, pcpu))
                 VIR_UNUSE_CPU(cpumap, pcpu);
         }
     }
diff --git a/src/nodeinfo.c b/src/nodeinfo.c
index 3a27c22..995ccbe 100644
--- a/src/nodeinfo.c
+++ b/src/nodeinfo.c
@@ -1911,11 +1911,7 @@ nodeCapsInitNUMA(virCapsPtr caps)
         cpu = 0;
 
         for (i = 0; i < virBitmapSize(cpumap); i++) {
-            bool cpustate;
-            if (virBitmapGetBit(cpumap, i, &cpustate) < 0)
-                continue;
-
-            if (cpustate) {
+            if (virBitmapGetBit(cpumap, i)) {
                 if (virNodeCapsFillCPUInfo(i, cpus + cpu++) < 0) {
                     topology_failed = true;
                     virResetLastError();
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
index 8193805..2fa229f 100644
--- a/src/qemu/qemu_capabilities.c
+++ b/src/qemu/qemu_capabilities.c
@@ -2047,12 +2047,10 @@ bool
 virQEMUCapsGet(virQEMUCapsPtr qemuCaps,
                virQEMUCapsFlags flag)
 {
-    bool b;
-
-    if (!qemuCaps || virBitmapGetBit(qemuCaps->flags, flag, &b) < 0)
+    if (!qemuCaps)
         return false;
-    else
-        return b;
+
+    return virBitmapGetBit(qemuCaps->flags, flag);
 }
 
 
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1510797..df1d1e0 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4631,8 +4631,6 @@ qemuBuildMemoryBackendStr(unsigned long long size,
     if (pagesize == 0 || pagesize != system_page_size) {
         /* Find the huge page size we want to use */
         for (i = 0; i < def->mem.nhugepages; i++) {
-            bool thisHugepage = false;
-
             hugepage = &def->mem.hugepages[i];
 
             if (!hugepage->nodemask) {
@@ -4640,15 +4638,7 @@ qemuBuildMemoryBackendStr(unsigned long long size,
                 continue;
             }
 
-            if (virBitmapGetBit(hugepage->nodemask, guestNode,
-                                &thisHugepage) < 0) {
-                /* Ignore this error. It's not an error after all. Well,
-                 * the nodemask for this <page/> can contain lower NUMA
-                 * nodes than we are querying in here. */
-                continue;
-            }
-
-            if (thisHugepage) {
+            if (virBitmapGetBit(hugepage->nodemask, guestNode)) {
                 /* Hooray, we've found the page size */
                 break;
             }
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index b37474f..8da5abc 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -5102,7 +5102,6 @@ qemuDomainGetVcpuPinInfo(virDomainPtr dom,
     virDomainVcpuPinDefPtr *vcpupin_list;
     virBitmapPtr cpumask = NULL;
     unsigned char *cpumap;
-    bool pinned;
     virCapsPtr caps = NULL;
 
     virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
@@ -5157,9 +5156,7 @@ qemuDomainGetVcpuPinInfo(virDomainPtr dom,
         cpumask = vcpupin_list[n]->cpumask;
         cpumap = VIR_GET_CPUMAP(cpumaps, maplen, vcpu);
         for (pcpu = 0; pcpu < maxcpu; pcpu++) {
-            if (virBitmapGetBit(cpumask, pcpu, &pinned) < 0)
-                goto cleanup;
-            if (!pinned)
+            if (!virBitmapGetBit(cpumask, pcpu))
                 VIR_UNUSE_CPU(cpumap, pcpu);
         }
     }
@@ -5366,7 +5363,6 @@ qemuDomainGetEmulatorPinInfo(virDomainPtr dom,
     int ret = -1;
     int maxcpu, hostcpus, pcpu;
     virBitmapPtr cpumask = NULL;
-    bool pinned;
     virCapsPtr caps = NULL;
 
     virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
@@ -5413,9 +5409,7 @@ qemuDomainGetEmulatorPinInfo(virDomainPtr dom,
     }
 
     for (pcpu = 0; pcpu < maxcpu; pcpu++) {
-        if (virBitmapGetBit(cpumask, pcpu, &pinned) < 0)
-            goto cleanup;
-        if (!pinned)
+        if (!virBitmapGetBit(cpumask, pcpu))
             VIR_UNUSE_CPU(cpumaps, pcpu);
     }
 
@@ -5670,7 +5664,6 @@ qemuDomainGetIOThreadsConfig(virDomainDefPtr targetDef,
     unsigned char *cpumap;
     int maxcpu, hostcpus, maplen;
     size_t i, pcpu;
-    bool pinned;
     int ret = -1;
 
     if (targetDef->iothreads == 0)
@@ -5715,9 +5708,7 @@ qemuDomainGetIOThreadsConfig(virDomainDefPtr targetDef,
         cpumask = iothreadspin_list[i]->cpumask;
 
         for (pcpu = 0; pcpu < maxcpu; pcpu++) {
-            if (virBitmapGetBit(cpumask, pcpu, &pinned) < 0)
-                goto cleanup;
-            if (!pinned)
+            if (!virBitmapGetBit(cpumask, pcpu))
                 VIR_UNUSE_CPU(cpumap, pcpu);
         }
     }
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index d1f089d..745a390 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -2386,15 +2386,15 @@ qemuPrepareCpumap(virQEMUDriverPtr driver,
         for (i = 0; i < caps->host.nnumaCell; i++) {
             size_t j;
             int cur_ncpus = caps->host.numaCell[i]->ncpus;
-            bool result;
-            if (virBitmapGetBit(nodemask, caps->host.numaCell[i]->num, &result) < 0) {
+            if (caps->host.numaCell[i]->num < 0 ||
+                caps->host.numaCell[i]->num >= virBitmapSize(nodemask)) {
                 virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                                _("Failed to convert nodeset to cpuset"));
                 virBitmapFree(cpumap);
                 cpumap = NULL;
                 goto cleanup;
             }
-            if (result) {
+            if (virBitmapGetBit(nodemask, caps->host.numaCell[i]->num)) {
                 for (j = 0; j < cur_ncpus; j++)
                     ignore_value(virBitmapSetBit(cpumap,
                                                  caps->host.numaCell[i]->cpus[j].id));
@@ -2596,16 +2596,11 @@ qemuProcessSetSchedParams(int id,
                           size_t nsp,
                           virDomainThreadSchedParamPtr sp)
 {
-    bool val = false;
     size_t i = 0;
     virDomainThreadSchedParamPtr s = NULL;
 
     for (i = 0; i < nsp; i++) {
-        if (virBitmapGetBit(sp[i].ids, id, &val) < 0) {
-            virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                           _("Cannot get bit from bitmap"));
-        }
-        if (val) {
+        if (virBitmapGetBit(sp[i].ids, id)) {
             s = &sp[i];
             break;
         }
diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
index a4e75f5a5..f1629ae 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -807,7 +807,6 @@ virStorageBackendCreateQemuImgOpts(char **opts,
                                    virBitmapPtr features)
 {
     virBuffer buf = VIR_BUFFER_INITIALIZER;
-    bool b;
     size_t i;
 
     if (backingType)
@@ -823,8 +822,7 @@ virStorageBackendCreateQemuImgOpts(char **opts,
         virBufferAsprintf(&buf, "compat=%s,", compat);
     if (features && format == VIR_STORAGE_FILE_QCOW2) {
         for (i = 0; i < VIR_STORAGE_FILE_FEATURE_LAST; i++) {
-            ignore_value(virBitmapGetBit(features, i, &b));
-            if (b) {
+            if (virBitmapGetBit(features, i)) {
                 switch ((virStorageFileFeature) i) {
                 case VIR_STORAGE_FILE_FEATURE_LAZY_REFCOUNTS:
                     if (STREQ_NULLABLE(compat, "0.10")) {
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 9591b7c..a5b15b0 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -560,7 +560,6 @@ testDomainUpdateVCPU(virDomainObjPtr dom,
     virVcpuInfoPtr info = &privdata->vcpu_infos[vcpu];
     unsigned char *cpumap = VIR_GET_CPUMAP(privdata->cpumaps, maplen, vcpu);
     size_t j;
-    bool cpu;
 
     memset(info, 0, sizeof(virVcpuInfo));
     memset(cpumap, 0, maplen);
@@ -572,9 +571,7 @@ testDomainUpdateVCPU(virDomainObjPtr dom,
 
     if (dom->def->cpumask) {
         for (j = 0; j < maxcpu && j < VIR_DOMAIN_CPUMASK_LEN; ++j) {
-            if (virBitmapGetBit(dom->def->cpumask, j, &cpu) < 0)
-                return -1;
-            if (cpu) {
+            if (virBitmapGetBit(dom->def->cpumask, j)) {
                 VIR_USE_CPU(cpumap, j);
                 info->cpu = j;
             }
diff --git a/src/util/virbitmap.c b/src/util/virbitmap.c
index b531be5..bf11b33 100644
--- a/src/util/virbitmap.c
+++ b/src/util/virbitmap.c
@@ -182,20 +182,17 @@ static bool virBitmapIsSet(virBitmapPtr bitmap, size_t b)
  * virBitmapGetBit:
  * @bitmap: Pointer to bitmap
  * @b: bit position to get
- * @result: bool pointer to receive bit setting
  *
- * Get setting of bit position @b in @bitmap and store in @result
+ * Get setting of bit position @b in @bitmap.
  *
- * On success, @result will contain the setting of @b and 0 is
- * returned.  On failure, -1 is returned and @result is unchanged.
+ * If the position is out of bitmap bounds, false will be returned.
  */
-int virBitmapGetBit(virBitmapPtr bitmap, size_t b, bool *result)
+bool virBitmapGetBit(virBitmapPtr bitmap, size_t b)
 {
     if (bitmap->max_bit <= b)
-        return -1;
+        return false;
 
-    *result = virBitmapIsSet(bitmap, b);
-    return 0;
+    return virBitmapIsSet(bitmap, b);
 }
 
 /**
diff --git a/src/util/virbitmap.h b/src/util/virbitmap.h
index 136e819..22c8e3c 100644
--- a/src/util/virbitmap.h
+++ b/src/util/virbitmap.h
@@ -62,10 +62,10 @@ int virBitmapClearBit(virBitmapPtr bitmap, size_t b)
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
 
 /*
- * Get setting of bit position @b in @bitmap and store in @result
+ * Get setting of bit position @b in @bitmap
  */
-int virBitmapGetBit(virBitmapPtr bitmap, size_t b, bool *result)
-    ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK;
+bool virBitmapGetBit(virBitmapPtr bitmap, size_t b)
+    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
 
 char *virBitmapString(virBitmapPtr bitmap)
     ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
index 6957e81..377c78d 100644
--- a/src/util/vircgroup.c
+++ b/src/util/vircgroup.c
@@ -3085,9 +3085,7 @@ virCgroupGetPercpuStats(virCgroupPtr group,
     need_cpus = MIN(total_cpus, start_cpu + ncpus);
 
     for (i = 0; i < need_cpus; i++) {
-        bool present;
-        ignore_value(virBitmapGetBit(cpumap, i, &present));
-        if (!present) {
+        if (!virBitmapGetBit(cpumap, i)) {
             cpu_time = 0;
         } else if (virStrToLong_ull(pos, &pos, 10, &cpu_time) < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
diff --git a/src/util/virdnsmasq.c b/src/util/virdnsmasq.c
index 97652c0..af6ca0b 100644
--- a/src/util/virdnsmasq.c
+++ b/src/util/virdnsmasq.c
@@ -874,10 +874,7 @@ dnsmasqCapsGetVersion(dnsmasqCapsPtr caps)
 bool
 dnsmasqCapsGet(dnsmasqCapsPtr caps, dnsmasqCapsFlags flag)
 {
-    bool b;
-
-    if (!caps || virBitmapGetBit(caps->flags, flag, &b) < 0)
+    if (!caps)
         return false;
-    else
-        return b;
+    return virBitmapGetBit(caps->flags, flag);
 }
diff --git a/src/util/virportallocator.c b/src/util/virportallocator.c
index 578debf..96a0e97 100644
--- a/src/util/virportallocator.c
+++ b/src/util/virportallocator.c
@@ -184,14 +184,7 @@ int virPortAllocatorAcquire(virPortAllocatorPtr pa,
     for (i = pa->start; i <= pa->end && !*port; i++) {
         bool used = false, v6used = false;
 
-        if (virBitmapGetBit(pa->bitmap,
-                            i - pa->start, &used) < 0) {
-            virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("Failed to query port %zu"), i);
-            goto cleanup;
-        }
-
-        if (used)
+        if (virBitmapGetBit(pa->bitmap, i - pa->start))
             continue;
 
         if (!(pa->flags & VIR_PORT_ALLOCATOR_SKIP_BIND_CHECK)) {
@@ -269,10 +262,7 @@ int virPortAllocatorSetUsed(virPortAllocatorPtr pa,
     }
 
     if (value) {
-        bool used = false;
-        if (virBitmapGetBit(pa->bitmap, port - pa->start, &used) < 0)
-            virReportError(VIR_ERR_INTERNAL_ERROR,
-                           _("Failed to query port %d"), port);
+        bool used = virBitmapGetBit(pa->bitmap, port - pa->start);
 
         if (used || virBitmapSetBit(pa->bitmap, port - pa->start) < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR,
diff --git a/src/util/virprocess.c b/src/util/virprocess.c
index 342bf40..d2f53d9 100644
--- a/src/util/virprocess.c
+++ b/src/util/virprocess.c
@@ -407,7 +407,6 @@ virProcessKillPainfully(pid_t pid, bool force)
 int virProcessSetAffinity(pid_t pid, virBitmapPtr map)
 {
     size_t i;
-    bool set = false;
     VIR_DEBUG("Set process affinity on %lld\n", (long long)pid);
 # ifdef CPU_ALLOC
     /* New method dynamically allocates cpu mask, allowing unlimted cpus */
@@ -433,9 +432,7 @@ int virProcessSetAffinity(pid_t pid, virBitmapPtr map)
 
     CPU_ZERO_S(masklen, mask);
     for (i = 0; i < virBitmapSize(map); i++) {
-        if (virBitmapGetBit(map, i, &set) < 0)
-            return -1;
-        if (set)
+        if (virBitmapGetBit(map, i))
             CPU_SET_S(i, masklen, mask);
     }
 
@@ -457,9 +454,7 @@ int virProcessSetAffinity(pid_t pid, virBitmapPtr map)
 
     CPU_ZERO(&mask);
     for (i = 0; i < virBitmapSize(map); i++) {
-        if (virBitmapGetBit(map, i, &set) < 0)
-            return -1;
-        if (set)
+        if (virBitmapGetBit(map, i))
             CPU_SET(i, &mask);
     }
 
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 5e6ef68..89c2657 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -232,9 +232,7 @@ xenDomainUsedCpus(virDomainPtr dom, virDomainDefPtr def)
                                                   cpumap, cpumaplen)) >= 0) {
         for (n = 0; n < ncpus; n++) {
             for (m = 0; m < priv->nbNodeCpus; m++) {
-                bool used;
-                ignore_value(virBitmapGetBit(cpulist, m, &used));
-                if ((!used) &&
+                if (!virBitmapGetBit(cpulist, m) &&
                     (VIR_CPU_USABLE(cpumap, cpumaplen, n, m))) {
                     ignore_value(virBitmapSetBit(cpulist, m));
                     nb++;
diff --git a/src/xen/xend_internal.c b/src/xen/xend_internal.c
index ab03c1c..b8de12a 100644
--- a/src/xen/xend_internal.c
+++ b/src/xen/xend_internal.c
@@ -1089,10 +1089,7 @@ sexpr_to_xend_topology(const struct sexpr *root, virCapsPtr caps)
         }
 
         for (n = 0, cpu = 0; cpu < numCpus; cpu++) {
-            bool used;
-
-            ignore_value(virBitmapGetBit(cpuset, cpu, &used));
-            if (used)
+            if (virBitmapGetBit(cpuset, cpu))
                 cpuInfo[n++].id = cpu;
         }
         virBitmapFree(cpuset);
diff --git a/tests/virbitmaptest.c b/tests/virbitmaptest.c
index ac5f298..1df5987 100644
--- a/tests/virbitmaptest.c
+++ b/tests/virbitmaptest.c
@@ -32,7 +32,6 @@ test1(const void *data ATTRIBUTE_UNUSED)
     virBitmapPtr bitmap;
     int size;
     int bit;
-    bool result;
     int ret = -1;
 
     size = 1024;
@@ -43,16 +42,10 @@ test1(const void *data ATTRIBUTE_UNUSED)
     if (virBitmapSetBit(bitmap, bit) < 0)
         goto error;
 
-    if (virBitmapGetBit(bitmap, bit, &result) < 0)
+    if (!virBitmapGetBit(bitmap, bit))
         goto error;
 
-    if (!result)
-        goto error;
-
-    if (virBitmapGetBit(bitmap, bit + 1, &result) < 0)
-        goto error;
-
-    if (result)
+    if (virBitmapGetBit(bitmap, bit + 1))
         goto error;
 
     ret = 0;
@@ -69,12 +62,9 @@ testBit(virBitmapPtr bitmap,
         bool expected)
 {
     size_t i;
-    bool result;
 
     for (i = start; i <= end; i++) {
-        if (virBitmapGetBit(bitmap, i, &result) < 0)
-            return -1;
-        if (result == expected)
+        if (virBitmapGetBit(bitmap, i) == expected)
             return 0;
     }
 
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 1e9dfe5..4ba22d7 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -10496,7 +10496,6 @@ vshNodeIsSuperset(xmlNodePtr n1, xmlNodePtr n2)
     xmlAttrPtr attr;
     char *prop1, *prop2;
     bool found;
-    bool visited;
     bool ret = false;
     long n1_child_size, n2_child_size, n1_iter;
     virBitmapPtr bitmap;
@@ -10555,12 +10554,11 @@ vshNodeIsSuperset(xmlNodePtr n1, xmlNodePtr n2)
                 continue;
             }
 
-            if (virBitmapGetBit(bitmap, n1_iter, &visited) < 0) {
+            if (n1_iter >= n1_child_size) {
                 vshError(NULL, "%s", _("Bad child elements counting."));
                 goto cleanup;
             }
-
-            if (visited) {
+            if (virBitmapGetBit(bitmap, n1_iter)) {
                 child1 = child1->next;
                 n1_iter++;
                 continue;
-- 
2.0.5




More information about the libvir-list mailing list