const char *line,
qemuMonitorMessage *msg)
{
- virJSONValue *obj = NULL;
+ g_autoptr(virJSONValue) obj = NULL;
int ret = -1;
VIR_DEBUG("Line [%s]", line);
}
cleanup:
- virJSONValueFree(obj);
return ret;
}
const char *cmd_str,
char **reply_str)
{
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *obj;
const char *data;
int ret = -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONStartCPUs(qemuMonitor *mon)
{
int ret;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("cont", NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("cont", NULL);
size_t i = 0;
int timeout = 3;
if (!cmd)
return -1;
do {
+ g_autoptr(virJSONValue) reply = NULL;
+
ret = qemuMonitorJSONCommand(mon, cmd, &reply);
if (ret != 0)
if (!qemuMonitorJSONHasError(reply, "MigrationExpected"))
break;
- virJSONValueFree(reply);
- reply = NULL;
g_usleep(250000);
} while (++i <= timeout);
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONStopCPUs(qemuMonitor *mon)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("stop", NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("stop", NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
int qemuMonitorJSONSystemPowerdown(qemuMonitor *mon)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("system_powerdown", NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("system_powerdown", NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
virDomainNetInterfaceLinkState state)
{
int ret = -1;
- virJSONValue *reply = NULL;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("set_link",
- "s:name", name,
- "b:up", state != VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN,
- NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("set_link",
+ "s:name", name,
+ "b:up", state != VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DOWN,
+ NULL);
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
int qemuMonitorJSONSystemReset(qemuMonitor *mon)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("system_reset", NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("system_reset", NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
bool fast)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
if (fast)
ret = qemuMonitorJSONExtractCPUInfo(data, entries, nentries, fast);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
int ret = -1;
virJSONValue *data;
unsigned long long mem;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("query-balloon",
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("query-balloon",
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
*currmem = 0;
*currmem = (mem/1024);
ret = 1;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned int nr_stats)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
virJSONValue *statsdata;
unsigned long long mem;
ret = got;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
#undef GET_BALLOON_STATS
static virJSONValue *
qemuMonitorJSONQueryBlock(qemuMonitor *mon)
{
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *devices = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("query-block", NULL)))
devices = virJSONValueObjectStealArray(reply, "return");
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return devices;
}
{
int ret = -1;
size_t i;
-
- virJSONValue *devices;
+ g_autoptr(virJSONValue) devices = NULL;
if (!(devices = qemuMonitorJSONQueryBlock(mon)))
return -1;
ret = 0;
cleanup:
- virJSONValueFree(devices);
return ret;
}
qemuMonitorJSONBlockStatsUpdateCapacityBlockdev(qemuMonitor *mon,
GHashTable *stats)
{
- virJSONValue *nodes;
+ g_autoptr(virJSONValue) nodes = NULL;
int ret = -1;
if (!(nodes = qemuMonitorJSONQueryNamedBlockNodes(mon, false)))
ret = 0;
cleanup:
- virJSONValueFree(nodes);
return ret;
}
unsigned long long size)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("block_resize",
"S:device", device,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *action_if_connected)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("set_password",
- "s:protocol", protocol,
- "s:password", password,
- "s:connected", action_if_connected,
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("set_password",
+ "s:protocol", protocol,
+ "s:password", password,
+ "s:connected", action_if_connected,
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *expire_time)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("expire_password",
- "s:protocol", protocol,
- "s:time", expire_time,
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("expire_password",
+ "s:protocol", protocol,
+ "s:time", expire_time,
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned long long newmem)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("balloon",
- "U:value", newmem * 1024,
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("balloon",
+ "U:value", newmem * 1024,
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
/* Real success */
ret = 1;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
int cpu, bool online)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (online) {
cmd = qemuMonitorJSONMakeCommand("cpu-add",
ret = qemuMonitorJSONCheckError(cmd, reply);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
bool force)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("eject",
- "s:device", dev_name,
- "b:force", force ? 1 : 0,
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("eject",
+ "s:device", dev_name,
+ "b:force", force ? 1 : 0,
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *format)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("change",
"s:device", dev_name,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *path)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand(cmdtype,
- "U:val", offset,
- "U:size", length,
- "s:filename", path,
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand(cmdtype,
+ "U:val", offset,
+ "U:size", length,
+ "s:filename", path,
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned long bandwidth)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
+
cmd = qemuMonitorJSONMakeCommand("migrate_set_speed",
"U:value", bandwidth * 1024ULL * 1024ULL,
NULL);
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned long long downtime)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("migrate_set_downtime",
"d:value", downtime / 1000.0,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned long long *cacheSize)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
*cacheSize = 0;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned long long cacheSize)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("migrate-set-cache-size",
"U:value", cacheSize,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
virJSONValue **params)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
*params = NULL;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
char **error)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("query-migrate",
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("query-migrate",
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
memset(stats, 0, sizeof(*stats));
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *uri)
{
int ret = -1;
- virJSONValue *cmd =
+ g_autoptr(virJSONValue) cmd =
qemuMonitorJSONMakeCommand("migrate",
"b:detach", flags & QEMU_MONITOR_MIGRATE_BACKGROUND ? 1 : 0,
"b:blk", flags & QEMU_MONITOR_MIGRATE_NON_SHARED_DISK ? 1 : 0,
"b:inc", flags & QEMU_MONITOR_MIGRATE_NON_SHARED_INC ? 1 : 0,
"s:uri", uri,
NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
int qemuMonitorJSONMigrateCancel(qemuMonitor *mon)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("migrate_cancel", NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("migrate_cancel", NULL);
+ g_autoptr(virJSONValue) reply = NULL;
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONQueryDump(qemuMonitor *mon,
qemuMonitorDumpStats *stats)
{
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("query-dump", NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("query-dump", NULL);
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *result = NULL;
int ret = -1;
ret = qemuMonitorJSONExtractDumpStats(result, stats);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *capability)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *caps;
virJSONValue *formats;
size_t i;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
bool detach)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("dump-guest-memory",
"b:paging", false,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *tlsSubject)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("client_migrate_info",
- "s:protocol",
- (type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE ? "spice" : "vnc"),
- "s:hostname", hostname,
- "i:port", port,
- "i:tls-port", tlsPort,
- "S:cert-subject", tlsSubject,
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("client_migrate_info",
+ "s:protocol",
+ (type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE ? "spice" : "vnc"),
+ "s:hostname", hostname,
+ "i:port", port,
+ "i:tls-port", tlsPort,
+ "S:cert-subject", tlsSubject,
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
int fd)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("getfd",
- "s:fdname", fdname,
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("getfd",
+ "s:fdname", fdname,
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *fdname)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("closefd",
- "s:fdname", fdname,
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("closefd",
+ "s:fdname", fdname,
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
+
if (!cmd)
return -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
virNetDevRxFilter **filter)
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("query-rx-filter",
- "s:name", alias,
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("query-rx-filter",
+ "s:name", alias,
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
if (!cmd)
goto cleanup;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
{
int ret = -1;
- virJSONValue *cmd = qemuMonitorJSONMakeCommand("query-chardev",
- NULL);
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = qemuMonitorJSONMakeCommand("query-chardev",
+ NULL);
+ g_autoptr(virJSONValue) reply = NULL;
if (!cmd)
return -1;
ret = qemuMonitorJSONExtractChardevInfo(reply, info);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *devalias)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("device_del",
"s:id", devalias,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONTransaction(qemuMonitor *mon, virJSONValue **actions)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("transaction",
"a:actions", actions,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned long long speed)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virTristateBool autofinalize = VIR_TRISTATE_BOOL_ABSENT;
virTristateBool autodismiss = VIR_TRISTATE_BOOL_ABSENT;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
virStorageSource *target)
{
char *ret = NULL;
- virJSONValue *devices;
+ g_autoptr(virJSONValue) devices = NULL;
size_t i;
if (!(devices = qemuMonitorJSONQueryBlock(mon)))
device);
cleanup:
- virJSONValueFree(devices);
-
return ret;
}
const char *cmd_str,
char **reply_str)
{
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
int ret = -1;
if (!(cmd = virJSONValueFromString(cmd_str)))
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
int qemuMonitorJSONInjectNMI(qemuMonitor *mon)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("inject-nmi", NULL);
if (!cmd)
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned int nkeycodes)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
- virJSONValue *keys = NULL;
- virJSONValue *key = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
+ g_autoptr(virJSONValue) keys = NULL;
size_t i;
/* create the key data array */
keys = virJSONValueNewArray();
for (i = 0; i < nkeycodes; i++) {
+ g_autoptr(virJSONValue) key = NULL;
+
if (keycodes[i] > 0xffff) {
virReportError(VIR_ERR_OPERATION_FAILED,
_("keycode %zu is invalid: 0x%X"), i, keycodes[i]);
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
- virJSONValueFree(keys);
- virJSONValueFree(key);
return ret;
}
const char *file)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("screendump",
"s:filename", file,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned long long speed)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virTristateBool autofinalize = VIR_TRISTATE_BOOL_ABSENT;
virTristateBool autodismiss = VIR_TRISTATE_BOOL_ABSENT;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
unsigned long long speed)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("block-job-set-speed",
"s:device", jobname,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *jobname)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("block-job-complete",
"s:device", jobname,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
bool skipauth)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("add_client",
"s:protocol", protocol,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
virDomainBlockIoTuneInfo *reply)
{
int ret = -1;
- virJSONValue *devices = NULL;
+ g_autoptr(virJSONValue) devices = NULL;
if (!(devices = qemuMonitorJSONQueryBlock(mon)))
return -1;
ret = qemuMonitorJSONBlockIoThrottleInfo(devices, drivealias, qdevid, reply);
- virJSONValueFree(devices);
return ret;
}
int qemuMonitorJSONSystemWakeup(qemuMonitor *mon)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
cmd = qemuMonitorJSONMakeCommand("system_wakeup", NULL);
if (!cmd)
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
char **package)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
virJSONValue *qemu;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorMachineInfo ***machines)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
qemuMonitorMachineInfo **infolist = NULL;
size_t n = 0;
qemuMonitorMachineInfoFree(infolist[i]);
VIR_FREE(infolist);
}
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONMakeCPUModel(virCPUDef *cpu,
bool migratable)
{
- virJSONValue *model = virJSONValueNewObject();
- virJSONValue *props = NULL;
+ g_autoptr(virJSONValue) model = virJSONValueNewObject();
size_t i;
if (virJSONValueObjectAppendString(model, "name", cpu->model) < 0)
goto error;
if (cpu->nfeatures || !migratable) {
- props = virJSONValueNewObject();
+ g_autoptr(virJSONValue) props = virJSONValueNewObject();
for (i = 0; i < cpu->nfeatures; i++) {
char *name = cpu->features[i].name;
goto error;
}
- return model;
+ return g_steal_pointer(&model);
error:
- virJSONValueFree(model);
- virJSONValueFree(props);
return NULL;
}
bool *present)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data = NULL;
/* Safe defaults */
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONListPath ***paths)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
qemuMonitorJSONListPath **pathlist = NULL;
size_t n = 0;
qemuMonitorJSONListPathFree(pathlist[i]);
VIR_FREE(pathlist);
}
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONObjectProperty *prop)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
const char *tmp;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
-
return ret;
}
qemuMonitorJSONObjectProperty *prop)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
switch ((qemuMonitorJSONObjectPropertyType) prop->type) {
/* Simple cases of boolean, int, long, uint, ulong, double, and string
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
-
return ret;
}
#undef MAKE_SET_CMD
{
char *ret = NULL;
const char *arch;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
if (!(cmd = qemuMonitorJSONMakeCommand("query-target", NULL)))
ret = g_strdup(arch);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
virGICCapability **capabilities)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *caps;
virGICCapability *list = NULL;
size_t i;
cleanup:
VIR_FREE(list);
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
virSEVCapability **capabilities)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *caps;
const char *pdh = NULL;
const char *cert_chain = NULL;
*capabilities = g_steal_pointer(&capability);
ret = 1;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
-
return ret;
}
qemuMonitorJSONBuildInetSocketAddress(const char *host,
const char *port)
{
- virJSONValue *addr = NULL;
- virJSONValue *data = NULL;
+ g_autoptr(virJSONValue) addr = NULL;
+ g_autoptr(virJSONValue) data = NULL;
if (virJSONValueObjectCreate(&data, "s:host", host,
"s:port", port, NULL) < 0)
return NULL;
if (virJSONValueObjectCreate(&addr, "s:type", "inet",
- "a:data", &data, NULL) < 0) {
- virJSONValueFree(data);
+ "a:data", &data, NULL) < 0)
return NULL;
- }
- return addr;
+ return g_steal_pointer(&addr);
}
static virJSONValue *
qemuMonitorJSONBuildUnixSocketAddress(const char *path)
{
- virJSONValue *addr = NULL;
- virJSONValue *data = NULL;
+ g_autoptr(virJSONValue) addr = NULL;
+ g_autoptr(virJSONValue) data = NULL;
if (virJSONValueObjectCreate(&data, "s:path", path, NULL) < 0)
return NULL;
if (virJSONValueObjectCreate(&addr, "s:type", "unix",
- "a:data", &data, NULL) < 0) {
- virJSONValueFree(data);
+ "a:data", &data, NULL) < 0)
return NULL;
- }
- return addr;
+ return g_steal_pointer(&addr);
}
int
const char *tls_alias)
{
int ret = -1;
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
- virJSONValue *addr = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
+ g_autoptr(virJSONValue) addr = NULL;
char *port_str = NULL;
switch ((virStorageNetHostTransport)server->transport) {
cleanup:
VIR_FREE(port_str);
- virJSONValueFree(reply);
- virJSONValueFree(cmd);
- virJSONValueFree(addr);
return ret;
}
const char *bitmap)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
/* Note: bitmap must be NULL if QEMU_CAPS_NBD_BITMAP is lacking */
if (!(cmd = qemuMonitorJSONMakeCommand("nbd-server-add",
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONNBDServerStop(qemuMonitor *mon)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("nbd-server-stop",
NULL)))
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const virDomainChrSourceDef *chr)
{
virJSONValue *ret = NULL;
- virJSONValue *backend = virJSONValueNewObject();
- virJSONValue *data = virJSONValueNewObject();
- virJSONValue *addr = NULL;
+ g_autoptr(virJSONValue) backend = virJSONValueNewObject();
+ g_autoptr(virJSONValue) data = virJSONValueNewObject();
+ g_autoptr(virJSONValue) addr = NULL;
const char *backend_type = NULL;
const char *host;
const char *port;
cleanup:
VIR_FREE(tlsalias);
- virJSONValueFree(addr);
- virJSONValueFree(data);
- virJSONValueFree(backend);
return ret;
}
virDomainChrSourceDef *chr)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!(cmd = qemuMonitorJSONAttachCharDevCommand(chrID, chr)))
return ret;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *chrID)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("chardev-remove",
"s:id", chrID,
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *property,
virCPUData **cpudata)
{
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
int ret = -1;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
static int
qemuMonitorJSONCheckCPUx86(qemuMonitor *mon)
{
- virJSONValue *cmd = NULL;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
size_t i;
size_t n;
ret = 1;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONRTCResetReinjection(qemuMonitor *mon)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("rtc-reset-reinjection",
NULL)))
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
int *niothreads)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
qemuMonitorIOThreadInfo **infolist = NULL;
size_t n = 0;
VIR_FREE(infolist[i]);
VIR_FREE(infolist);
}
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
GHashTable *info)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data = NULL;
size_t i;
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONMigrateStartPostCopy(qemuMonitor *mon)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("migrate-start-postcopy", NULL)))
return -1;
ret = qemuMonitorJSONCheckError(cmd, reply);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
{
const char *statusStr = qemuMonitorMigrationStatusTypeToString(status);
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("migrate-continue",
"s:state", statusStr,
ret = qemuMonitorJSONCheckError(cmd, reply);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
struct tm *tm)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
if (!(cmd = qemuMonitorJSONMakeCommand("qom-get",
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
int ret = -1;
size_t i;
virJSONValue *data;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *vcpu;
if (!(cmd = qemuMonitorJSONMakeCommand("query-hotpluggable-cpus", NULL)))
cleanup:
qemuMonitorQueryHotpluggableCpusFree(info, ninfo);
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
virJSONValue *
qemuMonitorJSONQueryQMPSchema(qemuMonitor *mon)
{
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *ret = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("query-qmp-schema", NULL)))
ret = virJSONValueObjectStealArray(reply, "return");
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
-
return ret;
}
const char *nodename,
unsigned long long threshold)
{
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
int ret = -1;
if (!(cmd = qemuMonitorJSONMakeCommand("block-set-write-threshold",
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
-
return ret;
}
const char *id,
bool force)
{
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
int ret = -1;
if (!(cmd = qemuMonitorJSONMakeCommand("blockdev-open-tray",
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONBlockdevTrayClose(qemuMonitor *mon,
const char *id)
{
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
int ret = -1;
if (!(cmd = qemuMonitorJSONMakeCommand("blockdev-close-tray",
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorJSONBlockdevMediumRemove(qemuMonitor *mon,
const char *id)
{
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
int ret = -1;
if (!(cmd = qemuMonitorJSONMakeCommand("blockdev-remove-medium",
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
const char *id,
const char *nodename)
{
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
int ret = -1;
if (!(cmd = qemuMonitorJSONMakeCommand("blockdev-insert-medium",
ret = 0;
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
{
const char *tmp;
char *measurement = NULL;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
virJSONValue *data;
if (!(cmd = qemuMonitorJSONMakeCommand("query-sev-launch-measure", NULL)))
measurement = g_strdup(tmp);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return measurement;
}
GHashTable *info)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("query-pr-managers",
NULL)))
ret = qemuMonitorJSONExtractPRManagerInfo(reply, info);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}
qemuMonitorCurrentMachineInfo *info)
{
int ret = -1;
- virJSONValue *cmd;
- virJSONValue *reply = NULL;
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("query-current-machine",
NULL)))
ret = qemuMonitorJSONExtractCurrentMachineInfo(reply, info);
cleanup:
- virJSONValueFree(cmd);
- virJSONValueFree(reply);
return ret;
}