提交 fcd5c61c 编写于 作者: J Ján Tomko

conf: fix formatting of udp chardev attributes

It is possible (although possibly not very useful) to leave out
the service attribute when using <source mode='bind'/>

Fix the formatter bug introduced by commit 4a0da345 and format
the host when its present (checked for non-NULL inside
virBufferEscapeString) instead of basing it on the presence
of the service attribute.

https://bugzilla.redhat.com/show_bug.cgi?id=1455825
上级 93575f34
......@@ -23307,19 +23307,15 @@ virDomainChrSourceDefFormat(virBufferPtr buf,
case VIR_DOMAIN_CHR_TYPE_UDP:
if (def->data.udp.bindService || def->data.udp.bindHost) {
virBufferAddLit(buf, "<source mode='bind'");
if (def->data.udp.bindService)
virBufferEscapeString(buf, " host='%s'", def->data.udp.bindHost);
if (def->data.udp.bindService)
virBufferEscapeString(buf, " service='%s'", def->data.udp.bindService);
virBufferEscapeString(buf, " host='%s'", def->data.udp.bindHost);
virBufferEscapeString(buf, " service='%s'", def->data.udp.bindService);
virBufferAddLit(buf, "/>\n");
}
if (def->data.udp.connectService || def->data.udp.connectHost) {
virBufferAddLit(buf, "<source mode='connect'");
if (def->data.udp.connectService)
virBufferEscapeString(buf, " host='%s'", def->data.udp.connectHost);
if (def->data.udp.connectService)
virBufferEscapeString(buf, " service='%s'", def->data.udp.connectService);
virBufferEscapeString(buf, " host='%s'", def->data.udp.connectHost);
virBufferEscapeString(buf, " service='%s'", def->data.udp.connectService);
virBufferAddLit(buf, "/>\n");
}
break;
......
......@@ -29,7 +29,7 @@
<target type='virtio' name='test3'/>
</channel>
<channel type='udp'>
<source mode='bind'/>
<source mode='bind' host='localhost'/>
<source mode='connect' service='5678'/>
<target type='virtio' name='test4'/>
</channel>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册