]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: cgroup: wrap BACKEND_CALL macro in a block
authorJán Tomko <jtomko@redhat.com>
Tue, 28 Jul 2020 18:08:07 +0000 (20:08 +0200)
committerJán Tomko <jtomko@redhat.com>
Tue, 25 Aug 2020 17:03:12 +0000 (19:03 +0200)
VIR_CGROUP_BACKEND_CALL is exclusively used at the end
of a function, but it declares a variable.

Wrap it in a do..while block.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/util/vircgroupbackend.h

index e12a2e8b9d95cf7b44ee51197da5ed48fdd0f83c..bcbe435d78fefde9f37e7e336ea1a81fc06bcffb 100644 (file)
@@ -452,15 +452,17 @@ virCgroupBackendForController(virCgroupPtr group,
                               unsigned int controller);
 
 #define VIR_CGROUP_BACKEND_CALL(group, controller, func, ret, ...) \
-    virCgroupBackendPtr backend = virCgroupBackendForController(group, controller); \
-    if (!backend) { \
-        virReportError(VIR_ERR_INTERNAL_ERROR, \
-                       _("failed to get cgroup backend for '%s'"), #func); \
-        return ret; \
-    } \
-    if (!backend->func) { \
-        virReportError(VIR_ERR_OPERATION_UNSUPPORTED, \
-                       _("operation '%s' not supported"), #func); \
-        return ret; \
-    } \
-    return backend->func(group, ##__VA_ARGS__);
+    do { \
+        virCgroupBackendPtr backend = virCgroupBackendForController(group, controller); \
+        if (!backend) { \
+            virReportError(VIR_ERR_INTERNAL_ERROR, \
+                           _("failed to get cgroup backend for '%s'"), #func); \
+            return ret; \
+        } \
+        if (!backend->func) { \
+            virReportError(VIR_ERR_OPERATION_UNSUPPORTED, \
+                           _("operation '%s' not supported"), #func); \
+            return ret; \
+        } \
+        return backend->func(group, ##__VA_ARGS__); \
+    } while (0)