[RFC 08/21] conf: Generate virNetworkDNSTxtDefFormatBuf
Daniel P. Berrangé
berrange at redhat.com
Mon Jun 29 12:52:51 UTC 2020
On Wed, Jun 10, 2020 at 09:20:36AM +0800, Shi Lei wrote:
> Signed-off-by: Shi Lei <shi_lei at massclouds.com>
> ---
> src/conf/network_conf.c | 4 ++--
> src/conf/network_conf.h | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c
> index 964a8a7..b807bac 100644
> --- a/src/conf/network_conf.c
> +++ b/src/conf/network_conf.c
> @@ -2280,8 +2280,8 @@ virNetworkDNSDefFormat(virBufferPtr buf,
> }
>
> for (i = 0; i < def->ntxts; i++) {
> - virBufferEscapeString(buf, "<txt name='%s' ", def->txts[i].name);
> - virBufferEscapeString(buf, "value='%s'/>\n", def->txts[i].value);
> + if (virNetworkDNSTxtDefFormatBuf(buf, "txt", &def->txts[i], NULL) < 0)
> + return -1;
> }
For sake of review, the new code looks like this:
int
virNetworkDNSTxtDefFormatBuf(virBufferPtr buf,
const char *name,
const virNetworkDNSTxtDef *def,
void *opaque)
{
VIR_USED(opaque);
if (!def)
return 0;
if (!(def->name || def->value))
return 0;
virBufferAsprintf(buf, "<%s", name);
if (def->name)
virBufferAsprintf(buf, " name='%s'", def->name);
if (def->value)
virBufferAsprintf(buf, " value='%s'", def->value);
virBufferAddLit(buf, "/>\n");
return 0;
}
This is a lot longer, but obviously the code is more general
purpose.
I'm not sure why we need to pass "txt" into this method though.
Can't we just hardcode "<txt" instead of formatting "<%s", name ?
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list