diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 528b2047a0..b118d1e3d7 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2221,6 +2221,7 @@ virSecurityLabelDefNew; # util/virsecret.h virSecretLookupDefClear; virSecretLookupDefCopy; +virSecretLookupFormatSecret; virSecretLookupParseSecret; diff --git a/src/util/virsecret.c b/src/util/virsecret.c index 7fdb0ae2da..aded8028b9 100644 --- a/src/util/virsecret.c +++ b/src/util/virsecret.c @@ -99,3 +99,26 @@ virSecretLookupParseSecret(xmlNodePtr secretnode, VIR_FREE(usage); return ret; } + + +void +virSecretLookupFormatSecret(virBufferPtr buf, + const char *secrettype, + virSecretLookupTypeDefPtr def) +{ + char uuidstr[VIR_UUID_STRING_BUFLEN]; + + if (secrettype) + virBufferAsprintf(buf, "type == VIR_SECRET_LOOKUP_TYPE_UUID) { + virUUIDFormat(def->u.uuid, uuidstr); + virBufferAsprintf(buf, " uuid='%s'/>\n", uuidstr); + } else if (def->type == VIR_SECRET_LOOKUP_TYPE_USAGE) { + virBufferEscapeString(buf, " usage='%s'/>\n", def->u.usage); + } else { + virBufferAddLit(buf, "/>\n"); + } +} diff --git a/src/util/virsecret.h b/src/util/virsecret.h index eee863f922..4506fb36eb 100644 --- a/src/util/virsecret.h +++ b/src/util/virsecret.h @@ -50,4 +50,7 @@ int virSecretLookupDefCopy(virSecretLookupTypeDefPtr dst, const virSecretLookupTypeDef *src); int virSecretLookupParseSecret(xmlNodePtr secretnode, virSecretLookupTypeDefPtr def); +void virSecretLookupFormatSecret(virBufferPtr buf, + const char *secrettype, + virSecretLookupTypeDefPtr def); #endif /* __VIR_SECRET_H__ */ diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c index 0863c4fe99..de4955b7d0 100644 --- a/src/util/virstoragefile.c +++ b/src/util/virstoragefile.c @@ -1623,8 +1623,6 @@ int virStorageAuthDefFormat(virBufferPtr buf, virStorageAuthDefPtr authdef) { - char uuidstr[VIR_UUID_STRING_BUFLEN]; - if (authdef->authType == VIR_STORAGE_AUTH_TYPE_NONE) { virBufferEscapeString(buf, "\n", authdef->username); } else { @@ -1634,20 +1632,8 @@ virStorageAuthDefFormat(virBufferPtr buf, } virBufferAdjustIndent(buf, 2); - if (authdef->secrettype) - virBufferAsprintf(buf, "secrettype); - else - virBufferAddLit(buf, "seclookupdef.type == VIR_SECRET_LOOKUP_TYPE_UUID) { - virUUIDFormat(authdef->seclookupdef.u.uuid, uuidstr); - virBufferAsprintf(buf, " uuid='%s'/>\n", uuidstr); - } else if (authdef->seclookupdef.type == VIR_SECRET_LOOKUP_TYPE_USAGE) { - virBufferEscapeString(buf, " usage='%s'/>\n", - authdef->seclookupdef.u.usage); - } else { - virBufferAddLit(buf, "/>\n"); - } + virSecretLookupFormatSecret(buf, authdef->secrettype, + &authdef->seclookupdef); virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "\n");