virsh: Convert EDIT_NOT_CHANGED macro to do-while block.

This macro is being used as an inline body after an if and might get
pretty confusing.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Martin Kletzander 2014-11-14 15:57:17 +01:00
parent 9fdb2b55d5
commit e09f9e4c32
6 changed files with 64 additions and 41 deletions

View File

@ -4376,10 +4376,13 @@ cmdSaveImageEdit(vshControl *ctl, const vshCmd *cmd)
#define EDIT_GET_XML \ #define EDIT_GET_XML \
virDomainSaveImageGetXMLDesc(ctl->conn, file, getxml_flags) virDomainSaveImageGetXMLDesc(ctl->conn, file, getxml_flags)
#define EDIT_NOT_CHANGED \ #define EDIT_NOT_CHANGED \
vshPrint(ctl, _("Saved image %s XML configuration " \ do { \
"not changed.\n"), file); \ vshPrint(ctl, _("Saved image %s XML configuration " \
ret = true; goto edit_cleanup; "not changed.\n"), file); \
ret = true; \
goto edit_cleanup; \
} while (0)
#define EDIT_DEFINE \ #define EDIT_DEFINE \
(virDomainSaveImageDefineXML(ctl->conn, file, doc_edited, define_flags) == 0) (virDomainSaveImageDefineXML(ctl->conn, file, doc_edited, define_flags) == 0)
#include "virsh-edit.c" #include "virsh-edit.c"
@ -7560,10 +7563,13 @@ cmdMetadata(vshControl *ctl, const vshCmd *cmd)
} else if (edit) { } else if (edit) {
#define EDIT_GET_XML \ #define EDIT_GET_XML \
vshDomainGetEditMetadata(ctl, dom, uri, flags) vshDomainGetEditMetadata(ctl, dom, uri, flags)
#define EDIT_NOT_CHANGED \ #define EDIT_NOT_CHANGED \
vshPrint(ctl, "%s", _("Metadata not changed")); \ do { \
ret = true; \ vshPrint(ctl, "%s", _("Metadata not changed")); \
goto edit_cleanup; ret = true; \
goto edit_cleanup; \
} while (0)
#define EDIT_DEFINE \ #define EDIT_DEFINE \
(virDomainSetMetadata(dom, VIR_DOMAIN_METADATA_ELEMENT, doc_edited, \ (virDomainSetMetadata(dom, VIR_DOMAIN_METADATA_ELEMENT, doc_edited, \
key, uri, flags) == 0) key, uri, flags) == 0)
@ -11058,10 +11064,13 @@ cmdEdit(vshControl *ctl, const vshCmd *cmd)
goto cleanup; goto cleanup;
#define EDIT_GET_XML virDomainGetXMLDesc(dom, flags) #define EDIT_GET_XML virDomainGetXMLDesc(dom, flags)
#define EDIT_NOT_CHANGED \ #define EDIT_NOT_CHANGED \
vshPrint(ctl, _("Domain %s XML configuration not changed.\n"), \ do { \
virDomainGetName(dom)); \ vshPrint(ctl, _("Domain %s XML configuration not changed.\n"), \
ret = true; goto edit_cleanup; virDomainGetName(dom)); \
ret = true; \
goto edit_cleanup; \
} while (0)
#define EDIT_DEFINE \ #define EDIT_DEFINE \
(dom_edited = virDomainDefineXML(ctl->conn, doc_edited)) (dom_edited = virDomainDefineXML(ctl->conn, doc_edited))
#include "virsh-edit.c" #include "virsh-edit.c"

View File

@ -1,7 +1,7 @@
/* /*
* virsh-interface.c: Commands to manage host interface * virsh-interface.c: Commands to manage host interface
* *
* Copyright (C) 2005, 2007-2013 Red Hat, Inc. * Copyright (C) 2005, 2007-2014 Red Hat, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -122,10 +122,13 @@ cmdInterfaceEdit(vshControl *ctl, const vshCmd *cmd)
goto cleanup; goto cleanup;
#define EDIT_GET_XML virInterfaceGetXMLDesc(iface, flags) #define EDIT_GET_XML virInterfaceGetXMLDesc(iface, flags)
#define EDIT_NOT_CHANGED \ #define EDIT_NOT_CHANGED \
vshPrint(ctl, _("Interface %s XML configuration not changed.\n"), \ do { \
virInterfaceGetName(iface)); \ vshPrint(ctl, _("Interface %s XML configuration not changed.\n"), \
ret = true; goto edit_cleanup; virInterfaceGetName(iface)); \
ret = true; \
goto edit_cleanup; \
} while (0)
#define EDIT_DEFINE \ #define EDIT_DEFINE \
(iface_edited = virInterfaceDefineXML(ctl->conn, doc_edited, 0)) (iface_edited = virInterfaceDefineXML(ctl->conn, doc_edited, 0))
#include "virsh-edit.c" #include "virsh-edit.c"

View File

@ -1105,10 +1105,13 @@ cmdNetworkEdit(vshControl *ctl, const vshCmd *cmd)
goto cleanup; goto cleanup;
#define EDIT_GET_XML vshNetworkGetXMLDesc(network) #define EDIT_GET_XML vshNetworkGetXMLDesc(network)
#define EDIT_NOT_CHANGED \ #define EDIT_NOT_CHANGED \
vshPrint(ctl, _("Network %s XML configuration not changed.\n"), \ do { \
virNetworkGetName(network)); \ vshPrint(ctl, _("Network %s XML configuration not changed.\n"), \
ret = true; goto edit_cleanup; virNetworkGetName(network)); \
ret = true; \
goto edit_cleanup; \
} while (0)
#define EDIT_DEFINE \ #define EDIT_DEFINE \
(network_edited = virNetworkDefineXML(ctl->conn, doc_edited)) (network_edited = virNetworkDefineXML(ctl->conn, doc_edited))
#include "virsh-edit.c" #include "virsh-edit.c"

View File

@ -1,7 +1,7 @@
/* /*
* virsh-nwfilter.c: Commands to manage network filters * virsh-nwfilter.c: Commands to manage network filters
* *
* Copyright (C) 2005, 2007-2013 Red Hat, Inc. * Copyright (C) 2005, 2007-2014 Red Hat, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -421,11 +421,14 @@ cmdNWFilterEdit(vshControl *ctl, const vshCmd *cmd)
goto cleanup; goto cleanup;
#define EDIT_GET_XML virNWFilterGetXMLDesc(nwfilter, 0) #define EDIT_GET_XML virNWFilterGetXMLDesc(nwfilter, 0)
#define EDIT_NOT_CHANGED \ #define EDIT_NOT_CHANGED \
vshPrint(ctl, _("Network filter %s XML " \ do { \
"configuration not changed.\n"), \ vshPrint(ctl, _("Network filter %s XML " \
virNWFilterGetName(nwfilter)); \ "configuration not changed.\n"), \
ret = true; goto edit_cleanup; virNWFilterGetName(nwfilter)); \
ret = true; \
goto edit_cleanup; \
} while (0)
#define EDIT_DEFINE \ #define EDIT_DEFINE \
(nwfilter_edited = virNWFilterDefineXML(ctl->conn, doc_edited)) (nwfilter_edited = virNWFilterDefineXML(ctl->conn, doc_edited))
#include "virsh-edit.c" #include "virsh-edit.c"

View File

@ -1761,10 +1761,13 @@ cmdPoolEdit(vshControl *ctl, const vshCmd *cmd)
} }
#define EDIT_GET_XML virStoragePoolGetXMLDesc(pool, flags) #define EDIT_GET_XML virStoragePoolGetXMLDesc(pool, flags)
#define EDIT_NOT_CHANGED \ #define EDIT_NOT_CHANGED \
vshPrint(ctl, _("Pool %s XML configuration not changed.\n"), \ do { \
virStoragePoolGetName(pool)); \ vshPrint(ctl, _("Pool %s XML configuration not changed.\n"), \
ret = true; goto edit_cleanup; virStoragePoolGetName(pool)); \
ret = true; \
goto edit_cleanup; \
} while (0)
#define EDIT_DEFINE \ #define EDIT_DEFINE \
(pool_edited = virStoragePoolDefineXML(ctl->conn, doc_edited, 0)) (pool_edited = virStoragePoolDefineXML(ctl->conn, doc_edited, 0))
#include "virsh-edit.c" #include "virsh-edit.c"

View File

@ -1,7 +1,7 @@
/* /*
* virsh-snapshot.c: Commands to manage domain snapshot * virsh-snapshot.c: Commands to manage domain snapshot
* *
* Copyright (C) 2005, 2007-2013 Red Hat, Inc. * Copyright (C) 2005, 2007-2014 Red Hat, Inc.
* *
* This library is free software; you can redistribute it and/or * This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public * modify it under the terms of the GNU Lesser General Public
@ -576,15 +576,17 @@ cmdSnapshotEdit(vshControl *ctl, const vshCmd *cmd)
#define EDIT_GET_XML \ #define EDIT_GET_XML \
virDomainSnapshotGetXMLDesc(snapshot, getxml_flags) virDomainSnapshotGetXMLDesc(snapshot, getxml_flags)
#define EDIT_NOT_CHANGED \ #define EDIT_NOT_CHANGED \
/* Depending on flags, we re-edit even if XML is unchanged. */ \ do { \
if (!(define_flags & VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT)) { \ /* Depending on flags, we re-edit even if XML is unchanged. */ \
vshPrint(ctl, \ if (!(define_flags & VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT)) { \
_("Snapshot %s XML configuration not changed.\n"), \ vshPrint(ctl, \
name); \ _("Snapshot %s XML configuration not changed.\n"), \
ret = true; \ name); \
goto edit_cleanup; \ ret = true; \
} goto edit_cleanup; \
} \
} while (0)
#define EDIT_DEFINE \ #define EDIT_DEFINE \
(strstr(doc, "<state>disk-snapshot</state>") ? \ (strstr(doc, "<state>disk-snapshot</state>") ? \
define_flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY : 0), \ define_flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY : 0), \