On 11/03/2016 11:09 PM, Chen Hanxiao wrote: > From: Chen Hanxiao <chenhanxiao@xxxxxxxxx> > > Introduce macro virCheckControllerGoto. > Jumps to a label if unsupported controller type were > passed to it. > > Signed-off-by: Chen Hanxiao <chenhanxiao@xxxxxxxxx> > --- > src/internal.h | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/src/internal.h b/src/internal.h > index d8cc5ad..a34f43e 100644 > --- a/src/internal.h > +++ b/src/internal.h > @@ -362,6 +362,25 @@ > } \ > } while (0) > > +/** > + * virCheckControllerGoto: > + * @Cgp: virCgroupPtr pointer > + * @CgpCtr: cgroup controller type enum > + * @label: label to jump to on error > + * > + * Returns nothing. Jumps to a label if unsupported controller type were > + * passed to it. > + */ > +# define virCheckControllerGoto(Cgp, CgpCtr, label) \ > + do { \ > + if (!virCgroupHasController(Cgp, CgpCtr)) { \ > + virReportError(VIR_ERR_OPERATION_INVALID, \ > + _("cgroup %s controller is not mounted"), \ ^ Extra space s/%s/'%s'/ ACK (I'll adjust before pushing) John > + virCgroupControllerTypeToString(CgpCtr)); \ > + goto label; \ > + } \ > + } while (0) > + > /* Macros to help dealing with mutually exclusive flags. */ > > /** > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list