[libvirt] [PATCHv1 10/13] Remove overengineered loop

Ján Tomko jtomko at redhat.com
Fri Apr 10 12:59:02 UTC 2015


Do not loop over enum with one value.
---
 src/storage/storage_backend.c | 31 ++++++++++---------------------
 1 file changed, 10 insertions(+), 21 deletions(-)

diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
index bfbc193..4ecea88 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -818,7 +818,6 @@ virStorageBackendCreateQemuImgOpts(char **opts,
                                    struct _virStorageBackendQemuImgInfo info)
 {
     virBuffer buf = VIR_BUFFER_INITIALIZER;
-    size_t i;
 
     if (info.backingPath)
         virBufferAsprintf(&buf, "backing_fmt=%s,",
@@ -832,28 +831,18 @@ virStorageBackendCreateQemuImgOpts(char **opts,
 
     if (info.compat)
         virBufferAsprintf(&buf, "compat=%s,", info.compat);
+
     if (info.features && info.format == VIR_STORAGE_FILE_QCOW2) {
-        for (i = 0; i < VIR_STORAGE_FILE_FEATURE_LAST; i++) {
-            if (virBitmapIsBitSet(info.features, i)) {
-                switch ((virStorageFileFeature) i) {
-                case VIR_STORAGE_FILE_FEATURE_LAZY_REFCOUNTS:
-                    if (STREQ_NULLABLE(info.compat, "0.10")) {
-                        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                                       _("Feature %s not supported with compat"
-                                         " level %s"),
-                                       virStorageFileFeatureTypeToString(i),
-                                       info.compat);
-                        goto error;
-                    }
-                    break;
-
-                /* coverity[dead_error_begin] */
-                case VIR_STORAGE_FILE_FEATURE_LAST:
-                    ;
-                }
-                virBufferAsprintf(&buf, "%s,",
-                                  virStorageFileFeatureTypeToString(i));
+        if (virBitmapIsBitSet(info.features,
+                              VIR_STORAGE_FILE_FEATURE_LAZY_REFCOUNTS)) {
+            if (STREQ_NULLABLE(info.compat, "0.10")) {
+                virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                               _("lazy_refcounts not supported with compat"
+                                 " level %s"),
+                               info.compat);
+                goto error;
             }
+            virBufferAddLit(&buf, "lazy_refcounts,");
         }
     }
 
-- 
2.0.5




More information about the libvir-list mailing list