mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-30 16:35:24 +00:00
tools: Use g_strdup_printf() instead of virAsprintf()
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
parent
4fa804c0c7
commit
26a137093b
@ -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;
|
||||
|
@ -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);
|
||||
|
@ -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++;
|
||||
|
@ -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"));
|
||||
|
@ -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);
|
||||
|
@ -1140,8 +1140,7 @@ vshExtractCPUDefXMLs(vshControl *ctl,
|
||||
else
|
||||
doc = buffer;
|
||||
|
||||
if (virAsprintf(&xmlStr, "<container>%s</container>", doc) < 0)
|
||||
goto error;
|
||||
xmlStr = g_strdup_printf("<container>%s</container>", doc);
|
||||
|
||||
if (!(xml = virXMLParseStringCtxt(xmlStr, xmlFile, &ctxt)))
|
||||
goto error;
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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(_("-"));
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
|
37
tools/vsh.c
37
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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user