diff --git a/tools/virsh-completer-domain.c b/tools/virsh-completer-domain.c
index 7df08211b0..0311ee50d0 100644
--- a/tools/virsh-completer-domain.c
+++ b/tools/virsh-completer-domain.c
@@ -214,10 +214,9 @@ virshDomainInterfaceStateCompleter(vshControl *ctl,
if (virMacAddrParse(iface, &macaddr) == 0)
virMacAddrFormat(&macaddr, macstr);
- if (virAsprintf(&xpath, "/domain/devices/interface[(mac/@address = '%s') or "
- " (target/@dev = '%s')]",
- macstr, iface) < 0)
- return NULL;
+ xpath = g_strdup_printf("/domain/devices/interface[(mac/@address = '%s') or "
+ " (target/@dev = '%s')]", macstr,
+ iface);
if ((ninterfaces = virXPathNodeSet(xpath, ctxt, &interfaces)) < 0)
return NULL;
diff --git a/tools/virsh-completer-host.c b/tools/virsh-completer-host.c
index f795a2a826..35e6bba661 100644
--- a/tools/virsh-completer-host.c
+++ b/tools/virsh-completer-host.c
@@ -44,8 +44,7 @@ virshPagesizeNodeToString(xmlNodePtr node)
if (virScaleInteger(&byteval, unit, 1024, UINT_MAX) < 0)
return NULL;
size = vshPrettyCapacity(byteval, &suffix);
- if (virAsprintf(&ret, "%.0f%s", size, suffix) < 0)
- return NULL;
+ ret = g_strdup_printf("%.0f%s", size, suffix);
return ret;
}
@@ -78,13 +77,10 @@ virshAllocpagesPagesizeCompleter(vshControl *ctl,
return NULL;
if (cellno && vshCommandOptStringQuiet(ctl, cmd, "cellno", &cellnum) > 0) {
- if (virAsprintf(&path,
- "/capabilities/host/topology/cells/cell[@id=\"%s\"]/pages",
- cellnum) < 0)
- return NULL;
+ path = g_strdup_printf("/capabilities/host/topology/cells/cell[@id=\"%s\"]/pages",
+ cellnum);
} else {
- if (virAsprintf(&path, "/capabilities/host/cpu/pages") < 0)
- return NULL;
+ path = g_strdup("/capabilities/host/cpu/pages");
}
npages = virXPathNodeSet(path, ctxt, &pages);
diff --git a/tools/virsh-completer.c b/tools/virsh-completer.c
index 7e4bd895e5..1d9d212f8a 100644
--- a/tools/virsh-completer.c
+++ b/tools/virsh-completer.c
@@ -118,9 +118,9 @@ virshCommaStringListComplete(const char *input,
if (virStringListHasString((const char **)inputList, options[i]))
continue;
- if (inputCopy && virAsprintf(&ret[nret], "%s,%s", inputCopy, options[i]) < 0)
- return NULL;
- if (!inputCopy)
+ if (inputCopy)
+ ret[nret] = g_strdup_printf("%s,%s", inputCopy, options[i]);
+ else
ret[nret] = g_strdup(options[i]);
nret++;
diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c
index d3beda5670..034c913d5e 100644
--- a/tools/virsh-domain-monitor.c
+++ b/tools/virsh-domain-monitor.c
@@ -431,10 +431,9 @@ cmdDomblkinfoGet(const virDomainBlockInfo *info,
*alloc = g_strdup("-");
*phy = g_strdup("-");
} else if (!human) {
- if (virAsprintf(cap, "%llu", info->capacity) < 0 ||
- virAsprintf(alloc, "%llu", info->allocation) < 0 ||
- virAsprintf(phy, "%llu", info->physical) < 0)
- return false;
+ *cap = g_strdup_printf("%llu", info->capacity);
+ *alloc = g_strdup_printf("%llu", info->allocation);
+ *phy = g_strdup_printf("%llu", info->physical);
} else {
double val_cap, val_alloc, val_phy;
const char *unit_cap, *unit_alloc, *unit_phy;
@@ -443,10 +442,9 @@ cmdDomblkinfoGet(const virDomainBlockInfo *info,
val_alloc = vshPrettyCapacity(info->allocation, &unit_alloc);
val_phy = vshPrettyCapacity(info->physical, &unit_phy);
- if (virAsprintf(cap, "%.3lf %s", val_cap, unit_cap) < 0 ||
- virAsprintf(alloc, "%.3lf %s", val_alloc, unit_alloc) < 0 ||
- virAsprintf(phy, "%.3lf %s", val_phy, unit_phy) < 0)
- return false;
+ *cap = g_strdup_printf("%.3lf %s", val_cap, unit_cap);
+ *alloc = g_strdup_printf("%.3lf %s", val_alloc, unit_alloc);
+ *phy = g_strdup_printf("%.3lf %s", val_phy, unit_phy);
}
return true;
@@ -828,10 +826,9 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
if (virMacAddrParse(iface, &macaddr) == 0)
virMacAddrFormat(&macaddr, macstr);
- if (virAsprintf(&xpath, "/domain/devices/interface[(mac/@address = '%s') or "
- " (target/@dev = '%s')]",
- macstr, iface) < 0)
- goto cleanup;
+ xpath = g_strdup_printf("/domain/devices/interface[(mac/@address = '%s') or "
+ " (target/@dev = '%s')]", macstr,
+ iface);
if ((ninterfaces = virXPathNodeSet(xpath, ctxt, &interfaces)) < 0) {
vshError(ctl, _("Failed to extract interface information"));
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index da0cf825ca..fadc0b8206 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -5523,11 +5523,8 @@ virshGenFileName(vshControl *ctl, virDomainPtr dom, const char *mime)
localtime_r(&cur_time, &time_info);
strftime(timestr, sizeof(timestr), "%Y-%m-%d-%H:%M:%S", &time_info);
- if (virAsprintf(&ret, "%s-%s%s", virDomainGetName(dom),
- timestr, NULLSTR_EMPTY(ext)) < 0) {
- vshError(ctl, "%s", _("Out of memory"));
- return NULL;
- }
+ ret = g_strdup_printf("%s-%s%s", virDomainGetName(dom), timestr,
+ NULLSTR_EMPTY(ext));
return ret;
}
@@ -6957,8 +6954,7 @@ virshVcpuPinQuery(vshControl *ctl,
cpumaplen)))
goto cleanup;
- if (virAsprintf(&vcpuStr, "%zu", i) < 0)
- goto cleanup;
+ vcpuStr = g_strdup_printf("%zu", i);
if (vshTableRowAppend(table, vcpuStr, pinInfo, NULL) < 0)
goto cleanup;
@@ -7574,8 +7570,7 @@ cmdIOThreadInfo(vshControl *ctl, const vshCmd *cmd)
g_autofree char *pinInfo = NULL;
g_autofree char *iothreadIdStr = NULL;
- if (virAsprintf(&iothreadIdStr, "%u", info[i]->iothread_id) < 0)
- goto cleanup;
+ iothreadIdStr = g_strdup_printf("%u", info[i]->iothread_id);
ignore_value(pinInfo = virBitmapDataFormat(info[i]->cpumap, info[i]->cpumaplen));
@@ -11367,8 +11362,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
/* Create our XPATH lookup for the current display's port */
VIR_FREE(xpath);
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@port") < 0)
- goto cleanup;
+ xpath = g_strdup_printf(xpath_fmt, scheme[iter], "@port");
/* Attempt to get the port number for the current graphics scheme */
tmp = virXPathInt(xpath, ctxt, &port);
@@ -11381,8 +11375,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
/* Create our XPATH lookup for TLS Port (automatically skipped
* for unsupported schemes */
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@tlsPort") < 0)
- goto cleanup;
+ xpath = g_strdup_printf(xpath_fmt, scheme[iter], "@tlsPort");
/* Attempt to get the TLS port number */
tmp = virXPathInt(xpath, ctxt, &tls_port);
@@ -11391,8 +11384,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
tls_port = 0;
/* Create our XPATH lookup for the current display's address */
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@listen") < 0)
- goto cleanup;
+ xpath = g_strdup_printf(xpath_fmt, scheme[iter], "@listen");
/* Attempt to get the listening addr if set for the current
* graphics scheme */
@@ -11401,8 +11393,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
VIR_FREE(xpath);
/* Create our XPATH lookup for the current spice type. */
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@type") < 0)
- goto cleanup;
+ xpath = g_strdup_printf(xpath_fmt, scheme[iter], "listen/@type");
/* Attempt to get the type of spice connection */
VIR_FREE(type_conn);
@@ -11411,8 +11402,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
if (STREQ_NULLABLE(type_conn, "socket")) {
if (!sockpath) {
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@socket") < 0)
- goto cleanup;
+ xpath = g_strdup_printf(xpath_fmt, scheme[iter], "listen/@socket");
sockpath = virXPathString(xpath, ctxt);
@@ -11432,8 +11422,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
* subelement (which, by the way, doesn't exist on libvirt
* < 0.9.4, so we really do need to check both places)
*/
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "listen/@address") < 0)
- goto cleanup;
+ xpath = g_strdup_printf(xpath_fmt, scheme[iter], "listen/@address");
listen_addr = virXPathString(xpath, ctxt);
VIR_FREE(xpath);
@@ -11469,8 +11458,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd)
* care of when getting the XML */
/* Create our XPATH lookup for the password */
- if (virAsprintf(&xpath, xpath_fmt, scheme[iter], "@passwd") < 0)
- goto cleanup;
+ xpath = g_strdup_printf(xpath_fmt, scheme[iter], "@passwd");
/* Attempt to get the password */
VIR_FREE(passwd);
diff --git a/tools/virsh-host.c b/tools/virsh-host.c
index 9ecbdb5af6..0fd77cbae5 100644
--- a/tools/virsh-host.c
+++ b/tools/virsh-host.c
@@ -1140,8 +1140,7 @@ vshExtractCPUDefXMLs(vshControl *ctl,
else
doc = buffer;
- if (virAsprintf(&xmlStr, "%s", doc) < 0)
- goto error;
+ xmlStr = g_strdup_printf("%s", doc);
if (!(xml = virXMLParseStringCtxt(xmlStr, xmlFile, &ctxt)))
goto error;
diff --git a/tools/virsh-interface.c b/tools/virsh-interface.c
index b83e385d00..8aa2fcf71d 100644
--- a/tools/virsh-interface.c
+++ b/tools/virsh-interface.c
@@ -893,11 +893,12 @@ cmdInterfaceBridge(vshControl *ctl, const vshCmd *cmd)
goto cleanup;
}
- if (stp &&
- ((virAsprintf(&delay_str, "%d", delay) < 0) ||
- !xmlSetProp(br_node, BAD_CAST "delay", BAD_CAST delay_str))) {
- vshError(ctl, _("Failed to set bridge delay %d in xml document"), delay);
- goto cleanup;
+ if (stp) {
+ delay_str = g_strdup_printf("%d", delay);
+ if (!xmlSetProp(br_node, BAD_CAST "delay", BAD_CAST delay_str)) {
+ vshError(ctl, _("Failed to set bridge delay %d in xml document"), delay);
+ goto cleanup;
+ }
}
/* Change the type of the outer/master interface to "bridge" and the
diff --git a/tools/virsh-network.c b/tools/virsh-network.c
index edd61f3217..700cb0d3e1 100644
--- a/tools/virsh-network.c
+++ b/tools/virsh-network.c
@@ -1444,8 +1444,7 @@ cmdNetworkDHCPLeases(vshControl *ctl, const vshCmd *cmd)
else if (lease->type == VIR_IP_ADDR_TYPE_IPV6)
typestr = "ipv6";
- ignore_value(virAsprintf(&cidr_format, "%s/%d",
- lease->ipaddr, lease->prefix));
+ cidr_format = g_strdup_printf("%s/%d", lease->ipaddr, lease->prefix);
if (vshTableRowAppend(table,
expirytime,
diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c
index 2b315caaa7..feae0787cb 100644
--- a/tools/virsh-pool.c
+++ b/tools/virsh-pool.c
@@ -1281,19 +1281,16 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
const char *unit;
val = vshPrettyCapacity(info.capacity, &unit);
- if (virAsprintf(&poolInfoTexts[i].capacity,
- "%.2lf %s", val, unit) < 0)
- goto cleanup;
+ poolInfoTexts[i].capacity = g_strdup_printf("%.2lf %s", val,
+ unit);
val = vshPrettyCapacity(info.allocation, &unit);
- if (virAsprintf(&poolInfoTexts[i].allocation,
- "%.2lf %s", val, unit) < 0)
- goto cleanup;
+ poolInfoTexts[i].allocation = g_strdup_printf("%.2lf %s", val,
+ unit);
val = vshPrettyCapacity(info.available, &unit);
- if (virAsprintf(&poolInfoTexts[i].available,
- "%.2lf %s", val, unit) < 0)
- goto cleanup;
+ poolInfoTexts[i].available = g_strdup_printf("%.2lf %s", val,
+ unit);
} else {
/* Capacity related information isn't available */
poolInfoTexts[i].capacity = g_strdup(_("-"));
diff --git a/tools/virsh-volume.c b/tools/virsh-volume.c
index 3637e7f603..72394915d8 100644
--- a/tools/virsh-volume.c
+++ b/tools/virsh-volume.c
@@ -1426,14 +1426,11 @@ cmdVolList(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
volInfoTexts[i].type = g_strdup(virshVolumeTypeToString(volumeInfo.type));
val = vshPrettyCapacity(volumeInfo.capacity, &unit);
- if (virAsprintf(&volInfoTexts[i].capacity,
- "%.2lf %s", val, unit) < 0)
- goto cleanup;
+ volInfoTexts[i].capacity = g_strdup_printf("%.2lf %s", val, unit);
val = vshPrettyCapacity(volumeInfo.allocation, &unit);
- if (virAsprintf(&volInfoTexts[i].allocation,
- "%.2lf %s", val, unit) < 0)
- goto cleanup;
+ volInfoTexts[i].allocation = g_strdup_printf("%.2lf %s", val,
+ unit);
}
}
}
diff --git a/tools/virt-admin.c b/tools/virt-admin.c
index f3ae011cf4..30106d1971 100644
--- a/tools/virt-admin.c
+++ b/tools/virt-admin.c
@@ -394,8 +394,7 @@ cmdSrvList(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
for (i = 0; i < nsrvs; i++) {
g_autofree char *idStr = NULL;
- if (virAsprintf(&idStr, "%zu", i) < 0)
- goto cleanup;
+ idStr = g_strdup_printf("%zu", i);
if (vshTableRowAppend(table,
idStr,
@@ -656,8 +655,7 @@ cmdSrvClientsList(vshControl *ctl, const vshCmd *cmd)
×tr) < 0)
goto cleanup;
- if (virAsprintf(&idStr, "%llu", id) < 0)
- goto cleanup;
+ idStr = g_strdup_printf("%llu", id);
if (vshTableRowAppend(table, idStr,
vshAdmClientTransportToString(transport),
timestr, NULL) < 0)
diff --git a/tools/vsh.c b/tools/vsh.c
index 26591907a2..accb4fd94b 100644
--- a/tools/vsh.c
+++ b/tools/vsh.c
@@ -1787,28 +1787,27 @@ vshCommandOptTimeoutToMs(vshControl *ctl, const vshCmd *cmd, int *timeout)
char *
vshGetTypedParamValue(vshControl *ctl, virTypedParameterPtr item)
{
- int ret = 0;
char *str = NULL;
switch (item->type) {
case VIR_TYPED_PARAM_INT:
- ret = virAsprintf(&str, "%d", item->value.i);
+ str = g_strdup_printf("%d", item->value.i);
break;
case VIR_TYPED_PARAM_UINT:
- ret = virAsprintf(&str, "%u", item->value.ui);
+ str = g_strdup_printf("%u", item->value.ui);
break;
case VIR_TYPED_PARAM_LLONG:
- ret = virAsprintf(&str, "%lld", item->value.l);
+ str = g_strdup_printf("%lld", item->value.l);
break;
case VIR_TYPED_PARAM_ULLONG:
- ret = virAsprintf(&str, "%llu", item->value.ul);
+ str = g_strdup_printf("%llu", item->value.ul);
break;
case VIR_TYPED_PARAM_DOUBLE:
- ret = virAsprintf(&str, "%f", item->value.d);
+ str = g_strdup_printf("%f", item->value.d);
break;
case VIR_TYPED_PARAM_BOOLEAN:
@@ -1823,7 +1822,7 @@ vshGetTypedParamValue(vshControl *ctl, virTypedParameterPtr item)
vshError(ctl, _("unimplemented parameter type %d"), item->type);
}
- if (ret < 0) {
+ if (!str) {
vshError(ctl, "%s", _("Out of memory"));
exit(EXIT_FAILURE);
}
@@ -2408,10 +2407,7 @@ vshEditWriteToTempFile(vshControl *ctl, const char *doc)
tmpdir = getenv("TMPDIR");
if (!tmpdir) tmpdir = "/tmp";
- if (virAsprintf(&ret, "%s/virshXXXXXX.xml", tmpdir) < 0) {
- vshError(ctl, "%s", _("out of memory"));
- return NULL;
- }
+ ret = g_strdup_printf("%s/virshXXXXXX.xml", tmpdir);
fd = mkostemps(ret, 4, O_CLOEXEC);
if (fd == -1) {
vshError(ctl, _("mkostemps: failed to create temporary file: %s"),
@@ -2919,8 +2915,7 @@ vshReadlineInit(vshControl *ctl)
rl_completer_quote_characters = quote_characters;
rl_char_is_quoted_p = vshReadlineCharIsQuoted;
- if (virAsprintf(&histsize_env, "%s_HISTSIZE", ctl->env_prefix) < 0)
- goto cleanup;
+ histsize_env = g_strdup_printf("%s_HISTSIZE", ctl->env_prefix);
/* Limit the total size of the history buffer */
if ((histsize_str = getenv(histsize_env))) {
@@ -2946,15 +2941,9 @@ vshReadlineInit(vshControl *ctl)
goto cleanup;
}
- if (virAsprintf(&ctl->historydir, "%s/%s", userdir, ctl->name) < 0) {
- vshError(ctl, "%s", _("Out of memory"));
- goto cleanup;
- }
+ ctl->historydir = g_strdup_printf("%s/%s", userdir, ctl->name);
- if (virAsprintf(&ctl->historyfile, "%s/history", ctl->historydir) < 0) {
- vshError(ctl, "%s", _("Out of memory"));
- goto cleanup;
- }
+ ctl->historyfile = g_strdup_printf("%s/history", ctl->historydir);
read_history(ctl->historyfile);
ret = 0;
@@ -3036,8 +3025,7 @@ vshInitDebug(vshControl *ctl)
char *env = NULL;
if (ctl->debug == VSH_DEBUG_DEFAULT) {
- if (virAsprintf(&env, "%s_DEBUG", ctl->env_prefix) < 0)
- return -1;
+ env = g_strdup_printf("%s_DEBUG", ctl->env_prefix);
/* log level not set from commandline, check env variable */
debugEnv = getenv(env);
@@ -3055,8 +3043,7 @@ vshInitDebug(vshControl *ctl)
}
if (ctl->logfile == NULL) {
- if (virAsprintf(&env, "%s_LOG_FILE", ctl->env_prefix) < 0)
- return -1;
+ env = g_strdup_printf("%s_LOG_FILE", ctl->env_prefix);
/* log file not set from cmdline */
debugEnv = getenv(env);