return addr;
error:
- virReportOOMError();
virJSONValueFree(data);
virJSONValueFree(addr);
return NULL;
if (!(backend = virJSONValueNewObject()) ||
!(data = virJSONValueNewObject())) {
- goto no_memory;
+ goto error;
}
switch ((virDomainChrType) chr->type) {
case VIR_DOMAIN_CHR_TYPE_FILE:
backend_type = "file";
if (virJSONValueObjectAppendString(data, "out", chr->data.file.path) < 0)
- goto no_memory;
+ goto error;
break;
case VIR_DOMAIN_CHR_TYPE_DEV:
backend_type = STRPREFIX(chrID, "parallel") ? "parallel" : "serial";
if (virJSONValueObjectAppendString(data, "device",
chr->data.file.path) < 0)
- goto no_memory;
+ goto error;
break;
case VIR_DOMAIN_CHR_TYPE_TCP:
chr->data.tcp.service);
if (!addr ||
virJSONValueObjectAppend(data, "addr", addr) < 0)
- goto no_memory;
+ goto error;
addr = NULL;
telnet = chr->data.tcp.protocol == VIR_DOMAIN_CHR_TCP_PROTOCOL_TELNET;
if (virJSONValueObjectAppendBoolean(data, "wait", false) < 0 ||
virJSONValueObjectAppendBoolean(data, "telnet", telnet) < 0 ||
virJSONValueObjectAppendBoolean(data, "server", chr->data.tcp.listen) < 0)
- goto no_memory;
+ goto error;
break;
case VIR_DOMAIN_CHR_TYPE_UDP:
chr->data.udp.connectService);
if (!addr ||
virJSONValueObjectAppend(data, "addr", addr) < 0)
- goto no_memory;
+ goto error;
addr = NULL;
break;
if (!addr ||
virJSONValueObjectAppend(data, "addr", addr) < 0)
- goto no_memory;
+ goto error;
addr = NULL;
if (virJSONValueObjectAppendBoolean(data, "wait", false) < 0 ||
virJSONValueObjectAppendBoolean(data, "server", chr->data.nix.listen) < 0)
- goto no_memory;
+ goto error;
break;
case VIR_DOMAIN_CHR_TYPE_SPICEVMC:
if (virJSONValueObjectAppendString(backend, "type", backend_type) < 0 ||
virJSONValueObjectAppend(backend, "data", data) < 0)
- goto no_memory;
+ goto error;
data = NULL;
if (!(ret = qemuMonitorJSONMakeCommand("chardev-add",
return ret;
- no_memory:
- virReportOOMError();
error:
virJSONValueFree(addr);
virJSONValueFree(data);