From: Ján Tomko Date: Tue, 28 Jul 2020 18:08:07 +0000 (+0200) Subject: util: cgroup: wrap BACKEND_CALL macro in a block X-Git-Tag: v6.7.0-rc1~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c23c7dac9b1b8558fedb428b48a1af3ff4ce5799;p=thirdparty%2Flibvirt.git util: cgroup: wrap BACKEND_CALL macro in a block 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 Reviewed-by: Michal Privoznik --- diff --git a/src/util/vircgroupbackend.h b/src/util/vircgroupbackend.h index e12a2e8b9d..bcbe435d78 100644 --- a/src/util/vircgroupbackend.h +++ b/src/util/vircgroupbackend.h @@ -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)