[libvirt] [PATCH 1/3] libvirt-domain: Introduce macro to save duplicated codes
Wei, Jiangang
weijg.fnst at cn.fujitsu.com
Thu Oct 15 09:50:18 UTC 2015
On Thu, 2015-10-15 at 11:31 +0200, Peter Krempa wrote:
> On Thu, Oct 15, 2015 at 17:12:18 +0800, Wei Jiangang wrote:
> > Signed-off-by: Wei Jiangang <weijg.fnst at cn.fujitsu.com>
> > ---
> > src/libvirt-domain.c | 55 ++++++++++++++--------------------------------------
> > 1 file changed, 15 insertions(+), 40 deletions(-)
> >
> > diff --git a/src/libvirt-domain.c b/src/libvirt-domain.c
> > index 6e1aacd..ed07c9e 100644
> > --- a/src/libvirt-domain.c
> > +++ b/src/libvirt-domain.c
> > @@ -33,6 +33,13 @@ VIR_LOG_INIT("libvirt.domain");
> >
> > #define VIR_FROM_THIS VIR_FROM_DOMAIN
> >
> > +#define VIR_ABSOLUTIZE_PATH(PATH, ABSPATH) \
> > + if (virFileAbsPath(PATH, ABSPATH) < 0) { \
> > + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", \
> > + _("could not build absolute input file path")); \
>
> This says "input" file path ...
>
> > + goto error; \
> > + }
> > +
> >
> > /**
> > * virConnectListDomains:
> > @@ -830,11 +837,7 @@ virDomainSave(virDomainPtr domain, const char *to)
> > char *absolute_to;
> >
> > /* We must absolutize the file path as the save is done out of process */
> > - if (virFileAbsPath(to, &absolute_to) < 0) {
> > - virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> > - _("could not build absolute output file path"));
>
> But this "output" ...
>
> > - goto error;
> > - }
> > + VIR_ABSOLUTIZE_PATH(to, &absolute_to);
> >
> > ret = conn->driver->domainSave(domain, absolute_to);
> >
>
>
> > @@ -968,11 +967,7 @@ virDomainRestore(virConnectPtr conn, const char *from)
> > char *absolute_from;
> >
> > /* We must absolutize the file path as the restore is done out of process */
> > - if (virFileAbsPath(from, &absolute_from) < 0) {
> > - virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> > - _("could not build absolute input file path"));
>
> While here correctly "input"
>
> > - goto error;
> > - }
>
> While saving code, this would actually break the error messages in some
> cases.
Thanks for your comments.
If I make some adjustment like below,
Is it acceptable?
+#define VIR_ABSOLUTIZE_PATH(PATH, ABSPATH, ERRSTR)
\
+ if (virFileAbsPath(PATH, ABSPATH) < 0) {
\
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", ERRSTR);
\
+ goto error;
\
+ }
+
- if (virFileAbsPath(to, &absolute_to) < 0) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("could not build absolute output file
path"));
- goto error;
- }
+ VIR_ABSOLUTIZE_PATH(to, &absolute_to,
+ _("could not build absolute output file
path"));
Regards,
wei
>
> Peter
More information about the libvir-list
mailing list