1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-03-20 06:50:22 +03:00

qemuBuildHostNetProps: Don't use virJSONValueObjectAppendStringPrintf to format address

Prefer virJSONValueObjectAdd which we already use internally combined
with local formatting of the string.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2023-03-06 09:40:24 +01:00
parent f3a7338409
commit cac6d59e80

View File

@ -3804,6 +3804,15 @@ qemuBuildNicDevProps(virDomainDef *def,
}
static char *
qemuBuildHostNetSocketAddr(virDomainNetDef *net)
{
return g_strdup_printf("%s:%d",
NULLSTR_EMPTY(net->data.socket.address),
net->data.socket.port);
}
virJSONValue *
qemuBuildHostNetProps(virDomainObj *vm,
virDomainNetDef *net)
@ -3885,40 +3894,53 @@ qemuBuildHostNetProps(virDomainObj *vm,
}
break;
case VIR_DOMAIN_NET_TYPE_CLIENT:
if (virJSONValueObjectAdd(&netprops, "s:type", "socket", NULL) < 0 ||
virJSONValueObjectAppendStringPrintf(netprops, "connect", "%s:%d",
net->data.socket.address,
net->data.socket.port) < 0)
return NULL;
break;
case VIR_DOMAIN_NET_TYPE_CLIENT: {
g_autofree char *addr = qemuBuildHostNetSocketAddr(net);
case VIR_DOMAIN_NET_TYPE_SERVER:
if (virJSONValueObjectAdd(&netprops, "s:type", "socket", NULL) < 0 ||
virJSONValueObjectAppendStringPrintf(netprops, "listen", "%s:%d",
NULLSTR_EMPTY(net->data.socket.address),
net->data.socket.port) < 0)
if (virJSONValueObjectAdd(&netprops,
"s:type", "socket",
"s:connect", addr,
NULL) < 0)
return NULL;
break;
}
case VIR_DOMAIN_NET_TYPE_MCAST:
if (virJSONValueObjectAdd(&netprops, "s:type", "socket", NULL) < 0 ||
virJSONValueObjectAppendStringPrintf(netprops, "mcast", "%s:%d",
net->data.socket.address,
net->data.socket.port) < 0)
return NULL;
break;
case VIR_DOMAIN_NET_TYPE_SERVER: {
g_autofree char *addr = qemuBuildHostNetSocketAddr(net);
case VIR_DOMAIN_NET_TYPE_UDP:
if (virJSONValueObjectAdd(&netprops, "s:type", "socket", NULL) < 0 ||
virJSONValueObjectAppendStringPrintf(netprops, "udp", "%s:%d",
net->data.socket.address,
net->data.socket.port) < 0 ||
virJSONValueObjectAppendStringPrintf(netprops, "localaddr", "%s:%d",
net->data.socket.localaddr,
net->data.socket.localport) < 0)
if (virJSONValueObjectAdd(&netprops,
"s:type", "socket",
"s:listen", addr,
NULL) < 0)
return NULL;
break;
}
case VIR_DOMAIN_NET_TYPE_MCAST: {
g_autofree char *addr = qemuBuildHostNetSocketAddr(net);
if (virJSONValueObjectAdd(&netprops,
"s:type", "socket",
"s:mcast", addr,
NULL) < 0)
return NULL;
break;
}
case VIR_DOMAIN_NET_TYPE_UDP: {
g_autofree char *addr = qemuBuildHostNetSocketAddr(net);
g_autofree char *localaddr = g_strdup_printf("%s:%d",
net->data.socket.localaddr,
net->data.socket.localport);
if (virJSONValueObjectAdd(&netprops,
"s:type", "socket",
"s:udp", addr,
"s:localaddr", localaddr,
NULL) < 0)
return NULL;
break;
}
case VIR_DOMAIN_NET_TYPE_USER:
if (net->backend.type == VIR_DOMAIN_NET_BACKEND_PASST) {