From 4a0da345d072bbbc2adeb7af8248e99dadef488a Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Mon, 26 Sep 2016 17:15:00 +0200 Subject: [PATCH] conf: Sanitize formatting of UDP chardev source Use much simpler logic to determine parts of the code to print. --- src/conf/domain_conf.c | 38 ++++++++++++++------------------------ 1 file changed, 14 insertions(+), 24 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 6a772c6666..f562323657 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -21394,32 +21394,22 @@ virDomainChrSourceDefFormat(virBufferPtr buf, break; case VIR_DOMAIN_CHR_TYPE_UDP: - if (def->data.udp.bindService && - def->data.udp.bindHost) { - virBufferEscapeString(buf, "data.udp.bindHost); - virBufferEscapeString(buf, "service='%s'/>\n", - def->data.udp.bindService); - } else if (def->data.udp.bindHost) { - virBufferEscapeString(buf, "\n", - def->data.udp.bindHost); - } else if (def->data.udp.bindService) { - virBufferEscapeString(buf, "\n", - def->data.udp.bindService); + if (def->data.udp.bindService || def->data.udp.bindHost) { + virBufferAddLit(buf, "data.udp.bindService) + virBufferEscapeString(buf, " host='%s'", def->data.udp.bindHost); + if (def->data.udp.bindService) + virBufferEscapeString(buf, " service='%s'", def->data.udp.bindService); + virBufferAddLit(buf, "/>\n"); } - if (def->data.udp.connectService && - def->data.udp.connectHost) { - virBufferEscapeString(buf, "data.udp.connectHost); - virBufferEscapeString(buf, "service='%s'/>\n", - def->data.udp.connectService); - } else if (def->data.udp.connectHost) { - virBufferEscapeString(buf, "\n", - def->data.udp.connectHost); - } else if (def->data.udp.connectService) { - virBufferEscapeString(buf, "\n", - def->data.udp.connectService); + if (def->data.udp.connectService || def->data.udp.connectHost) { + virBufferAddLit(buf, "data.udp.connectService) + virBufferEscapeString(buf, " host='%s'", def->data.udp.connectHost); + if (def->data.udp.connectService) + virBufferEscapeString(buf, " service='%s'", def->data.udp.connectService); + virBufferAddLit(buf, "/>\n"); } break;