conf: Make virDomainSnapshotDefFormat easier to read

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Jiri Denemark 2017-06-01 15:57:55 +02:00
parent 702013f3b3
commit 00968dca96

View File

@ -686,11 +686,13 @@ virDomainSnapshotDiskDefFormat(virBufferPtr buf,
virBufferAddLit(buf, "</disk>\n"); virBufferAddLit(buf, "</disk>\n");
} }
char *virDomainSnapshotDefFormat(const char *domain_uuid,
virDomainSnapshotDefPtr def, char *
virCapsPtr caps, virDomainSnapshotDefFormat(const char *domain_uuid,
unsigned int flags, virDomainSnapshotDefPtr def,
int internal) virCapsPtr caps,
unsigned int flags,
int internal)
{ {
virBuffer buf = VIR_BUFFER_INITIALIZER; virBuffer buf = VIR_BUFFER_INITIALIZER;
size_t i; size_t i;
@ -702,12 +704,14 @@ char *virDomainSnapshotDefFormat(const char *domain_uuid,
virBufferAddLit(&buf, "<domainsnapshot>\n"); virBufferAddLit(&buf, "<domainsnapshot>\n");
virBufferAdjustIndent(&buf, 2); virBufferAdjustIndent(&buf, 2);
virBufferEscapeString(&buf, "<name>%s</name>\n", def->name); virBufferEscapeString(&buf, "<name>%s</name>\n", def->name);
if (def->description) if (def->description)
virBufferEscapeString(&buf, "<description>%s</description>\n", virBufferEscapeString(&buf, "<description>%s</description>\n",
def->description); def->description);
virBufferAsprintf(&buf, "<state>%s</state>\n", virBufferAsprintf(&buf, "<state>%s</state>\n",
virDomainSnapshotStateTypeToString(def->state)); virDomainSnapshotStateTypeToString(def->state));
if (def->parent) { if (def->parent) {
virBufferAddLit(&buf, "<parent>\n"); virBufferAddLit(&buf, "<parent>\n");
virBufferAdjustIndent(&buf, 2); virBufferAdjustIndent(&buf, 2);
@ -715,14 +719,17 @@ char *virDomainSnapshotDefFormat(const char *domain_uuid,
virBufferAdjustIndent(&buf, -2); virBufferAdjustIndent(&buf, -2);
virBufferAddLit(&buf, "</parent>\n"); virBufferAddLit(&buf, "</parent>\n");
} }
virBufferAsprintf(&buf, "<creationTime>%lld</creationTime>\n", virBufferAsprintf(&buf, "<creationTime>%lld</creationTime>\n",
def->creationTime); def->creationTime);
if (def->memory) { if (def->memory) {
virBufferAsprintf(&buf, "<memory snapshot='%s'", virBufferAsprintf(&buf, "<memory snapshot='%s'",
virDomainSnapshotLocationTypeToString(def->memory)); virDomainSnapshotLocationTypeToString(def->memory));
virBufferEscapeString(&buf, " file='%s'", def->file); virBufferEscapeString(&buf, " file='%s'", def->file);
virBufferAddLit(&buf, "/>\n"); virBufferAddLit(&buf, "/>\n");
} }
if (def->ndisks) { if (def->ndisks) {
virBufferAddLit(&buf, "<disks>\n"); virBufferAddLit(&buf, "<disks>\n");
virBufferAdjustIndent(&buf, 2); virBufferAdjustIndent(&buf, 2);
@ -731,11 +738,10 @@ char *virDomainSnapshotDefFormat(const char *domain_uuid,
virBufferAdjustIndent(&buf, -2); virBufferAdjustIndent(&buf, -2);
virBufferAddLit(&buf, "</disks>\n"); virBufferAddLit(&buf, "</disks>\n");
} }
if (def->dom) { if (def->dom) {
if (virDomainDefFormatInternal(def->dom, caps, flags, &buf) < 0) { if (virDomainDefFormatInternal(def->dom, caps, flags, &buf) < 0)
virBufferFreeAndReset(&buf); goto error;
return NULL;
}
} else if (domain_uuid) { } else if (domain_uuid) {
virBufferAddLit(&buf, "<domain>\n"); virBufferAddLit(&buf, "<domain>\n");
virBufferAdjustIndent(&buf, 2); virBufferAdjustIndent(&buf, 2);
@ -743,8 +749,10 @@ char *virDomainSnapshotDefFormat(const char *domain_uuid,
virBufferAdjustIndent(&buf, -2); virBufferAdjustIndent(&buf, -2);
virBufferAddLit(&buf, "</domain>\n"); virBufferAddLit(&buf, "</domain>\n");
} }
if (internal) if (internal)
virBufferAsprintf(&buf, "<active>%d</active>\n", def->current); virBufferAsprintf(&buf, "<active>%d</active>\n", def->current);
virBufferAdjustIndent(&buf, -2); virBufferAdjustIndent(&buf, -2);
virBufferAddLit(&buf, "</domainsnapshot>\n"); virBufferAddLit(&buf, "</domainsnapshot>\n");
@ -752,6 +760,10 @@ char *virDomainSnapshotDefFormat(const char *domain_uuid,
return NULL; return NULL;
return virBufferContentAndReset(&buf); return virBufferContentAndReset(&buf);
error:
virBufferFreeAndReset(&buf);
return NULL;
} }
/* Snapshot Obj functions */ /* Snapshot Obj functions */