mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 05:17:54 +03:00
tools: virsh: use g_autofree
Signed-off-by: Ján Tomko <jtomko@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
parent
07b40abe0f
commit
fba265e2b2
@ -583,7 +583,7 @@ cmdDomblklist(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(xmlDoc) xmldoc = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
int ndisks;
|
||||
xmlNodePtr *disks = NULL;
|
||||
g_autofree xmlNodePtr *disks = NULL;
|
||||
size_t i;
|
||||
bool details = false;
|
||||
g_autoptr(vshTable) table = NULL;
|
||||
@ -670,7 +670,6 @@ cmdDomblklist(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(disks);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -700,7 +699,7 @@ cmdDomiflist(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(xmlDoc) xmldoc = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
int ninterfaces;
|
||||
xmlNodePtr *interfaces = NULL;
|
||||
g_autofree xmlNodePtr *interfaces = NULL;
|
||||
size_t i;
|
||||
g_autoptr(vshTable) table = NULL;
|
||||
|
||||
@ -754,7 +753,6 @@ cmdDomiflist(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(interfaces);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -791,13 +789,13 @@ static bool
|
||||
cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
const char *iface = NULL;
|
||||
char *state = NULL;
|
||||
char *xpath = NULL;
|
||||
g_autofree char *state = NULL;
|
||||
g_autofree char *xpath = NULL;
|
||||
virMacAddr macaddr;
|
||||
char macstr[VIR_MAC_STRING_BUFLEN] = "";
|
||||
g_autoptr(xmlDoc) xml = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr *interfaces = NULL;
|
||||
g_autofree xmlNodePtr *interfaces = NULL;
|
||||
int ninterfaces;
|
||||
unsigned int flags = 0;
|
||||
bool ret = false;
|
||||
@ -846,9 +844,6 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(state);
|
||||
VIR_FREE(interfaces);
|
||||
VIR_FREE(xpath);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -977,7 +972,7 @@ cmdDomblkstat(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
const char *name = NULL, *device = NULL;
|
||||
virDomainBlockStatsStruct stats;
|
||||
virTypedParameterPtr params = NULL;
|
||||
g_autofree virTypedParameterPtr params = NULL;
|
||||
virTypedParameterPtr par = NULL;
|
||||
const char *field = NULL;
|
||||
int rc, nparams = 0;
|
||||
@ -1085,7 +1080,6 @@ cmdDomblkstat(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(params);
|
||||
return ret;
|
||||
}
|
||||
#undef DOMBLKSTAT_LEGACY_PRINT
|
||||
|
@ -890,7 +890,7 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd)
|
||||
int ret;
|
||||
bool functionReturn = false;
|
||||
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
|
||||
char *xml = NULL;
|
||||
g_autofree char *xml = NULL;
|
||||
unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT;
|
||||
bool current = vshCommandOptBool(cmd, "current");
|
||||
bool config = vshCommandOptBool(cmd, "config");
|
||||
@ -1072,7 +1072,6 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd)
|
||||
}
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(xml);
|
||||
return functionReturn;
|
||||
}
|
||||
|
||||
@ -1424,9 +1423,8 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd)
|
||||
}
|
||||
|
||||
for (i = 0; i < nparams; i++) {
|
||||
char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
g_autofree char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
vshPrint(ctl, "%-15s: %s\n", params[i].field, str);
|
||||
VIR_FREE(str);
|
||||
}
|
||||
} else {
|
||||
if (virDomainSetBlockIoTune(dom, disk, params, nparams, flags) < 0)
|
||||
@ -1619,9 +1617,8 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd)
|
||||
}
|
||||
|
||||
for (i = 0; i < nparams; i++) {
|
||||
char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
g_autofree char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
vshPrint(ctl, "%-15s: %s\n", params[i].field, str);
|
||||
VIR_FREE(str);
|
||||
}
|
||||
} else {
|
||||
/* set the blkio parameters */
|
||||
@ -3067,7 +3064,7 @@ cmdDomIfSetLink(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
g_autoptr(xmlXPathObject) obj = NULL;
|
||||
xmlNodePtr cur = NULL;
|
||||
char *xml_buf = NULL;
|
||||
g_autofree char *xml_buf = NULL;
|
||||
|
||||
if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
|
||||
return false;
|
||||
@ -3174,7 +3171,6 @@ cmdDomIfSetLink(vshControl *ctl, const vshCmd *cmd)
|
||||
}
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(xml_buf);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -3352,9 +3348,8 @@ cmdDomIftune(vshControl *ctl, const vshCmd *cmd)
|
||||
}
|
||||
|
||||
for (i = 0; i < nparams; i++) {
|
||||
char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
g_autofree char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
vshPrint(ctl, "%-15s: %s\n", params[i].field, str);
|
||||
VIR_FREE(str);
|
||||
}
|
||||
} else {
|
||||
if (virDomainSetInterfaceParameters(dom, device, params,
|
||||
@ -4048,7 +4043,7 @@ cmdStart(vshControl *ctl, const vshCmd *cmd)
|
||||
unsigned int flags = VIR_DOMAIN_NONE;
|
||||
int rc;
|
||||
size_t nfds = 0;
|
||||
int *fds = NULL;
|
||||
g_autofree int *fds = NULL;
|
||||
|
||||
if (!(dom = virshCommandOptDomainBy(ctl, cmd, NULL,
|
||||
VIRSH_BYNAME | VIRSH_BYUUID)))
|
||||
@ -4115,7 +4110,6 @@ cmdStart(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(fds);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -4169,7 +4163,7 @@ doSave(void *opaque)
|
||||
const char *to = NULL;
|
||||
unsigned int flags = 0;
|
||||
const char *xmlfile = NULL;
|
||||
char *xml = NULL;
|
||||
g_autofree char *xml = NULL;
|
||||
#ifndef WIN32
|
||||
sigset_t sigmask, oldsigmask;
|
||||
|
||||
@ -4215,7 +4209,6 @@ doSave(void *opaque)
|
||||
pthread_sigmask(SIG_SETMASK, &oldsigmask, NULL);
|
||||
out_sig:
|
||||
#endif /* !WIN32 */
|
||||
VIR_FREE(xml);
|
||||
g_main_loop_quit(data->eventLoop);
|
||||
}
|
||||
|
||||
@ -4494,7 +4487,7 @@ cmdSaveImageDumpxml(vshControl *ctl, const vshCmd *cmd)
|
||||
const char *file = NULL;
|
||||
bool ret = false;
|
||||
unsigned int flags = 0;
|
||||
char *xml = NULL;
|
||||
g_autofree char *xml = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptBool(cmd, "security-info"))
|
||||
@ -4511,7 +4504,6 @@ cmdSaveImageDumpxml(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(xml);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -4552,7 +4544,7 @@ cmdSaveImageDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
const char *file = NULL;
|
||||
bool ret = false;
|
||||
const char *xmlfile = NULL;
|
||||
char *xml = NULL;
|
||||
g_autofree char *xml = NULL;
|
||||
unsigned int flags = 0;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
@ -4579,7 +4571,6 @@ cmdSaveImageDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(xml);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -4918,7 +4909,7 @@ cmdManagedSaveDumpxml(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = false;
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
unsigned int flags = 0;
|
||||
char *xml = NULL;
|
||||
g_autofree char *xml = NULL;
|
||||
|
||||
if (vshCommandOptBool(cmd, "security-info"))
|
||||
flags |= VIR_DOMAIN_XML_SECURE;
|
||||
@ -4933,7 +4924,6 @@ cmdManagedSaveDumpxml(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(xml);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -4974,7 +4964,7 @@ cmdManagedSaveDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = false;
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
const char *xmlfile = NULL;
|
||||
char *xml = NULL;
|
||||
g_autofree char *xml = NULL;
|
||||
unsigned int flags = 0;
|
||||
|
||||
if (vshCommandOptBool(cmd, "running"))
|
||||
@ -5004,7 +4994,6 @@ cmdManagedSaveDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(xml);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -5278,7 +5267,7 @@ cmdRestore(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = false;
|
||||
unsigned int flags = 0;
|
||||
const char *xmlfile = NULL;
|
||||
char *xml = NULL;
|
||||
g_autofree char *xml = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
@ -5309,7 +5298,6 @@ cmdRestore(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(xml);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -6702,7 +6690,7 @@ virshVcpuinfoPrintAffinity(vshControl *ctl,
|
||||
int maxcpu,
|
||||
bool pretty)
|
||||
{
|
||||
char *str = NULL;
|
||||
g_autofree char *str = NULL;
|
||||
size_t i;
|
||||
int ret = -1;
|
||||
|
||||
@ -6720,7 +6708,6 @@ virshVcpuinfoPrintAffinity(vshControl *ctl,
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(str);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -6734,7 +6721,7 @@ virshDomainGetVcpuBitmap(vshControl *ctl,
|
||||
virBitmap *ret = NULL;
|
||||
g_autoptr(xmlDoc) xml = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr *nodes = NULL;
|
||||
g_autofree xmlNodePtr *nodes = NULL;
|
||||
int nnodes;
|
||||
size_t i;
|
||||
unsigned int curvcpus = 0;
|
||||
@ -6787,7 +6774,6 @@ virshDomainGetVcpuBitmap(vshControl *ctl,
|
||||
}
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(nodes);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -6937,13 +6923,12 @@ virshPrintPinInfo(vshControl *ctl,
|
||||
unsigned char *cpumap,
|
||||
size_t cpumaplen)
|
||||
{
|
||||
char *str = NULL;
|
||||
g_autofree char *str = NULL;
|
||||
|
||||
if (!(str = virBitmapDataFormat(cpumap, cpumaplen)))
|
||||
return false;
|
||||
|
||||
vshPrint(ctl, "%s", str);
|
||||
VIR_FREE(str);
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -6956,7 +6941,7 @@ virshVcpuPinQuery(vshControl *ctl,
|
||||
int maxcpu,
|
||||
unsigned int flags)
|
||||
{
|
||||
unsigned char *cpumap = NULL;
|
||||
g_autofree unsigned char *cpumap = NULL;
|
||||
unsigned int countFlags = flags | VIR_DOMAIN_VCPU_MAXIMUM;
|
||||
int cpumaplen;
|
||||
size_t i;
|
||||
@ -7017,7 +7002,6 @@ virshVcpuPinQuery(vshControl *ctl,
|
||||
|
||||
ret = true;
|
||||
cleanup:
|
||||
VIR_FREE(cpumap);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -7063,7 +7047,7 @@ cmdVcpuPin(vshControl *ctl, const vshCmd *cmd)
|
||||
unsigned int vcpu = 0;
|
||||
const char *cpulist = NULL;
|
||||
bool ret = false;
|
||||
unsigned char *cpumap = NULL;
|
||||
g_autofree unsigned char *cpumap = NULL;
|
||||
int cpumaplen;
|
||||
int maxcpu;
|
||||
bool config = vshCommandOptBool(cmd, "config");
|
||||
@ -7123,7 +7107,6 @@ cmdVcpuPin(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(cpumap);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -7160,7 +7143,7 @@ cmdEmulatorPin(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
const char *cpulist = NULL;
|
||||
bool ret = false;
|
||||
unsigned char *cpumap = NULL;
|
||||
g_autofree unsigned char *cpumap = NULL;
|
||||
int cpumaplen;
|
||||
int maxcpu;
|
||||
bool config = vshCommandOptBool(cmd, "config");
|
||||
@ -7225,7 +7208,6 @@ cmdEmulatorPin(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
ret = true;
|
||||
cleanup:
|
||||
VIR_FREE(cpumap);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -7680,7 +7662,7 @@ cmdIOThreadPin(vshControl *ctl, const vshCmd *cmd)
|
||||
unsigned int iothread_id = 0;
|
||||
int maxcpu;
|
||||
bool ret = false;
|
||||
unsigned char *cpumap = NULL;
|
||||
g_autofree unsigned char *cpumap = NULL;
|
||||
int cpumaplen;
|
||||
unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT;
|
||||
virshControl *priv = ctl->privData;
|
||||
@ -7715,7 +7697,6 @@ cmdIOThreadPin(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(cpumap);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -7996,9 +7977,8 @@ vshCPUStatsPrintField(vshControl *ctl,
|
||||
param->value.ul / 1000000000,
|
||||
param->value.ul % 1000000000);
|
||||
} else {
|
||||
char *s = vshGetTypedParamValue(ctl, param);
|
||||
g_autofree char *s = vshGetTypedParamValue(ctl, param);
|
||||
vshPrint(ctl, "%s\n", s);
|
||||
VIR_FREE(s);
|
||||
}
|
||||
}
|
||||
|
||||
@ -8180,13 +8160,13 @@ cmdCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
const char *from = NULL;
|
||||
bool ret = false;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
#ifndef WIN32
|
||||
bool console = vshCommandOptBool(cmd, "console");
|
||||
#endif
|
||||
unsigned int flags = 0;
|
||||
size_t nfds = 0;
|
||||
int *fds = NULL;
|
||||
g_autofree int *fds = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
@ -8224,8 +8204,6 @@ cmdCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(buffer);
|
||||
VIR_FREE(fds);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -8623,14 +8601,13 @@ cmdMetadata(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
vshPrintExtra(ctl, "%s\n", _("Metadata modified"));
|
||||
} else {
|
||||
char *data;
|
||||
g_autofree char *data = NULL;
|
||||
/* get */
|
||||
if (!(data = virDomainGetMetadata(dom, VIR_DOMAIN_METADATA_ELEMENT,
|
||||
uri, flags)))
|
||||
goto cleanup;
|
||||
|
||||
vshPrint(ctl, "%s\n", data);
|
||||
VIR_FREE(data);
|
||||
}
|
||||
|
||||
ret = true;
|
||||
@ -9172,9 +9149,8 @@ cmdMemtune(vshControl *ctl, const vshCmd *cmd)
|
||||
params[i].value.ul == VIR_DOMAIN_MEMORY_PARAM_UNLIMITED) {
|
||||
vshPrint(ctl, "%-15s: %s\n", params[i].field, _("unlimited"));
|
||||
} else {
|
||||
char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
g_autofree char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
vshPrint(ctl, "%-15s: %s\n", params[i].field, str);
|
||||
VIR_FREE(str);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -9441,9 +9417,8 @@ cmdNumatune(vshControl * ctl, const vshCmd * cmd)
|
||||
vshPrint(ctl, "%-15s: %s\n", params[i].field,
|
||||
virDomainNumatuneMemModeTypeToString(params[i].value.i));
|
||||
} else {
|
||||
char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
g_autofree char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
vshPrint(ctl, "%-15s: %s\n", params[i].field, str);
|
||||
VIR_FREE(str);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -9587,7 +9562,7 @@ virshEventQemuPrint(virConnectPtr conn G_GNUC_UNUSED,
|
||||
{
|
||||
virshQemuEventData *data = opaque;
|
||||
virJSONValue *pretty = NULL;
|
||||
char *str = NULL;
|
||||
g_autofree char *str = NULL;
|
||||
|
||||
if (!data->loop && data->count)
|
||||
return;
|
||||
@ -9613,8 +9588,6 @@ virshEventQemuPrint(virConnectPtr conn G_GNUC_UNUSED,
|
||||
data->count++;
|
||||
if (!data->loop)
|
||||
vshEventDone(data->ctl);
|
||||
|
||||
VIR_FREE(str);
|
||||
}
|
||||
|
||||
static const vshCmdInfo info_qemu_monitor_event[] = {
|
||||
@ -9917,15 +9890,15 @@ cmdLxcEnterNamespace(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
bool ret = false;
|
||||
const vshCmdOpt *opt = NULL;
|
||||
char **cmdargv = NULL;
|
||||
g_autofree char **cmdargv = NULL;
|
||||
size_t ncmdargv = 0;
|
||||
pid_t pid;
|
||||
int nfdlist;
|
||||
int *fdlist;
|
||||
size_t i;
|
||||
bool setlabel = true;
|
||||
virSecurityModelPtr secmodel = NULL;
|
||||
virSecurityLabelPtr seclabel = NULL;
|
||||
g_autofree virSecurityModelPtr secmodel = NULL;
|
||||
g_autofree virSecurityLabelPtr seclabel = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
dom = virshCommandOptDomain(ctl, cmd, NULL);
|
||||
@ -10007,9 +9980,6 @@ cmdLxcEnterNamespace(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(seclabel);
|
||||
VIR_FREE(secmodel);
|
||||
VIR_FREE(cmdargv);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -10052,7 +10022,7 @@ cmdDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
bool ret = true;
|
||||
char *dump;
|
||||
g_autofree char *dump = NULL;
|
||||
unsigned int flags = 0;
|
||||
bool inactive = vshCommandOptBool(cmd, "inactive");
|
||||
bool secure = vshCommandOptBool(cmd, "security-info");
|
||||
@ -10074,7 +10044,6 @@ cmdDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
dump = virDomainGetXMLDesc(dom, flags);
|
||||
if (dump != NULL) {
|
||||
vshPrint(ctl, "%s", dump);
|
||||
VIR_FREE(dump);
|
||||
} else {
|
||||
ret = false;
|
||||
}
|
||||
@ -10115,8 +10084,8 @@ cmdDomXMLFromNative(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = true;
|
||||
const char *format = NULL;
|
||||
const char *configFile = NULL;
|
||||
char *configData;
|
||||
char *xmlData;
|
||||
g_autofree char *configData = NULL;
|
||||
g_autofree char *xmlData = NULL;
|
||||
unsigned int flags = 0;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
@ -10130,12 +10099,10 @@ cmdDomXMLFromNative(vshControl *ctl, const vshCmd *cmd)
|
||||
xmlData = virConnectDomainXMLFromNative(priv->conn, format, configData, flags);
|
||||
if (xmlData != NULL) {
|
||||
vshPrint(ctl, "%s", xmlData);
|
||||
VIR_FREE(xmlData);
|
||||
} else {
|
||||
ret = false;
|
||||
}
|
||||
|
||||
VIR_FREE(configData);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -10172,8 +10139,8 @@ cmdDomXMLToNative(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = false;
|
||||
const char *format = NULL;
|
||||
const char *xmlFile = NULL;
|
||||
char *configData = NULL;
|
||||
char *xmlData = NULL;
|
||||
g_autofree char *configData = NULL;
|
||||
g_autofree char *xmlData = NULL;
|
||||
unsigned int flags = 0;
|
||||
virshControl *priv = ctl->privData;
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
@ -10211,8 +10178,6 @@ cmdDomXMLToNative(vshControl *ctl, const vshCmd *cmd)
|
||||
}
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(xmlData);
|
||||
VIR_FREE(configData);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -11615,7 +11580,7 @@ cmdVNCDisplay(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
bool ret = false;
|
||||
int port = 0;
|
||||
char *listen_addr = NULL;
|
||||
g_autofree char *listen_addr = NULL;
|
||||
|
||||
if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
|
||||
return false;
|
||||
@ -11658,7 +11623,6 @@ cmdVNCDisplay(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(listen_addr);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -11686,7 +11650,7 @@ cmdTTYConsole(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(xmlDoc) xml = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
bool ret = false;
|
||||
char *tty = NULL;
|
||||
g_autofree char *tty = NULL;
|
||||
|
||||
if (virshDomainGetXML(ctl, cmd, 0, &xml, &ctxt) < 0)
|
||||
return false;
|
||||
@ -11698,7 +11662,6 @@ cmdTTYConsole(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(tty);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -11947,7 +11910,7 @@ cmdUpdateDevice(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
const char *from = NULL;
|
||||
char *buffer = NULL;
|
||||
g_autofree char *buffer = NULL;
|
||||
bool ret = false;
|
||||
unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT;
|
||||
bool current = vshCommandOptBool(cmd, "current");
|
||||
@ -11992,7 +11955,6 @@ cmdUpdateDevice(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(buffer);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -12042,7 +12004,7 @@ virshDomainDetachInterface(char *doc,
|
||||
g_autoptr(xmlXPathObject) obj = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr cur = NULL, matchNode = NULL;
|
||||
char *detach_xml = NULL;
|
||||
g_autofree char *detach_xml = NULL;
|
||||
char buf[64];
|
||||
int diff_mac, ret = -1;
|
||||
size_t i;
|
||||
@ -12077,9 +12039,8 @@ virshDomainDetachInterface(char *doc,
|
||||
while (cur != NULL) {
|
||||
if (cur->type == XML_ELEMENT_NODE &&
|
||||
virXMLNodeNameEqual(cur, "mac")) {
|
||||
char *tmp_mac = virXMLPropString(cur, "address");
|
||||
g_autofree char *tmp_mac = virXMLPropString(cur, "address");
|
||||
diff_mac = virMacAddrCompare(tmp_mac, mac);
|
||||
VIR_FREE(tmp_mac);
|
||||
if (!diff_mac) {
|
||||
if (matchNode) {
|
||||
/* this is the 2nd match, so it's ambiguous */
|
||||
@ -12112,7 +12073,6 @@ virshDomainDetachInterface(char *doc,
|
||||
ret = virDomainDetachDevice(dom, detach_xml);
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(detach_xml);
|
||||
return ret == 0;
|
||||
}
|
||||
|
||||
@ -12121,7 +12081,8 @@ static bool
|
||||
cmdDetachInterface(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
char *doc_live = NULL, *doc_config = NULL;
|
||||
g_autofree char *doc_live = NULL;
|
||||
g_autofree char *doc_config = NULL;
|
||||
const char *mac = NULL, *type = NULL;
|
||||
int flags = 0;
|
||||
bool ret = false, affect_config, affect_live;
|
||||
@ -12176,8 +12137,6 @@ cmdDetachInterface(vshControl *ctl, const vshCmd *cmd)
|
||||
} else {
|
||||
vshPrintExtra(ctl, "%s", _("Interface detached successfully\n"));
|
||||
}
|
||||
VIR_FREE(doc_live);
|
||||
VIR_FREE(doc_config);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -12248,13 +12207,11 @@ virshFindDisk(const char *doc,
|
||||
|
||||
/* Check if the disk is CDROM or floppy disk */
|
||||
if (virXMLNodeNameEqual(n, "disk")) {
|
||||
char *device_value = virXMLPropString(n, "device");
|
||||
g_autofree char *device_value = virXMLPropString(n, "device");
|
||||
|
||||
if (STREQ(device_value, "cdrom") ||
|
||||
STREQ(device_value, "floppy"))
|
||||
is_supported = true;
|
||||
|
||||
VIR_FREE(device_value);
|
||||
}
|
||||
|
||||
if (!is_supported)
|
||||
@ -12264,7 +12221,7 @@ virshFindDisk(const char *doc,
|
||||
cur = obj->nodesetval->nodeTab[i]->children;
|
||||
while (cur != NULL) {
|
||||
if (cur->type == XML_ELEMENT_NODE) {
|
||||
char *tmp = NULL;
|
||||
g_autofree char *tmp = NULL;
|
||||
|
||||
if (virXMLNodeNameEqual(cur, "source")) {
|
||||
if ((tmp = virXMLPropString(cur, "file")) ||
|
||||
@ -12280,10 +12237,8 @@ virshFindDisk(const char *doc,
|
||||
ret = xmlCopyNode(obj->nodesetval->nodeTab[i], 1);
|
||||
/* drop backing store since they are not needed here */
|
||||
virshDiskDropBackingStore(ret);
|
||||
VIR_FREE(tmp);
|
||||
goto cleanup;
|
||||
}
|
||||
VIR_FREE(tmp);
|
||||
}
|
||||
cur = cur->next;
|
||||
}
|
||||
@ -12317,10 +12272,10 @@ virshUpdateDiskXML(xmlNodePtr disk_node,
|
||||
xmlNodePtr source = NULL;
|
||||
xmlNodePtr target_node = NULL;
|
||||
xmlNodePtr text_node = NULL;
|
||||
char *device_type = NULL;
|
||||
g_autofree char *device_type = NULL;
|
||||
char *ret = NULL;
|
||||
char *startupPolicy = NULL;
|
||||
char *source_path = NULL;
|
||||
g_autofree char *startupPolicy = NULL;
|
||||
g_autofree char *source_path = NULL;
|
||||
|
||||
if (!disk_node)
|
||||
return NULL;
|
||||
@ -12436,9 +12391,6 @@ virshUpdateDiskXML(xmlNodePtr disk_node,
|
||||
}
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(device_type);
|
||||
VIR_FREE(startupPolicy);
|
||||
VIR_FREE(source_path);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -12478,10 +12430,10 @@ static const vshCmdOptDef opts_detach_disk[] = {
|
||||
static bool
|
||||
cmdDetachDisk(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
char *disk_xml = NULL;
|
||||
g_autofree char *disk_xml = NULL;
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
const char *target = NULL;
|
||||
char *doc = NULL;
|
||||
g_autofree char *doc = NULL;
|
||||
int ret;
|
||||
bool functionReturn = false;
|
||||
xmlNodePtr disk_node = NULL;
|
||||
@ -12548,8 +12500,6 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
cleanup:
|
||||
xmlFreeNode(disk_node);
|
||||
VIR_FREE(disk_xml);
|
||||
VIR_FREE(doc);
|
||||
return functionReturn;
|
||||
}
|
||||
|
||||
@ -13225,16 +13175,13 @@ virshEventJobCompletedPrint(virConnectPtr conn G_GNUC_UNUSED,
|
||||
{
|
||||
g_auto(virBuffer) buf = VIR_BUFFER_INITIALIZER;
|
||||
size_t i;
|
||||
char *value;
|
||||
|
||||
virBufferAsprintf(&buf, _("event 'job-completed' for domain '%s':\n"),
|
||||
virDomainGetName(dom));
|
||||
for (i = 0; i < nparams; i++) {
|
||||
value = virTypedParameterToString(¶ms[i]);
|
||||
if (value) {
|
||||
g_autofree char *value = virTypedParameterToString(¶ms[i]);
|
||||
if (value)
|
||||
virBufferAsprintf(&buf, "\t%s: %s\n", params[i].field, value);
|
||||
VIR_FREE(value);
|
||||
}
|
||||
}
|
||||
virshEventPrint(opaque, &buf);
|
||||
}
|
||||
@ -13611,9 +13558,9 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
const char *source = NULL;
|
||||
const char *path = NULL;
|
||||
char *doc = NULL;
|
||||
g_autofree char *doc = NULL;
|
||||
xmlNodePtr disk_node = NULL;
|
||||
char *disk_xml = NULL;
|
||||
g_autofree char *disk_xml = NULL;
|
||||
bool ret = false;
|
||||
virshUpdateDiskXMLType update_type;
|
||||
const char *action = NULL;
|
||||
@ -13705,9 +13652,7 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(doc);
|
||||
xmlFreeNode(disk_node);
|
||||
VIR_FREE(disk_xml);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -13789,7 +13734,7 @@ cmdDomFSFreeze(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
int ret = -1;
|
||||
const vshCmdOpt *opt = NULL;
|
||||
const char **mountpoints = NULL;
|
||||
g_autofree const char **mountpoints = NULL;
|
||||
size_t nmountpoints = 0;
|
||||
|
||||
if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
|
||||
@ -13809,7 +13754,6 @@ cmdDomFSFreeze(vshControl *ctl, const vshCmd *cmd)
|
||||
vshPrintExtra(ctl, _("Froze %d filesystem(s)\n"), ret);
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(mountpoints);
|
||||
return ret >= 0;
|
||||
}
|
||||
|
||||
@ -13838,7 +13782,7 @@ cmdDomFSThaw(vshControl *ctl, const vshCmd *cmd)
|
||||
g_autoptr(virshDomain) dom = NULL;
|
||||
int ret = -1;
|
||||
const vshCmdOpt *opt = NULL;
|
||||
const char **mountpoints = NULL;
|
||||
g_autofree const char **mountpoints = NULL;
|
||||
size_t nmountpoints = 0;
|
||||
|
||||
if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
|
||||
@ -13858,7 +13802,6 @@ cmdDomFSThaw(vshControl *ctl, const vshCmd *cmd)
|
||||
vshPrintExtra(ctl, _("Thawed %d filesystem(s)\n"), ret);
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(mountpoints);
|
||||
return ret >= 0;
|
||||
}
|
||||
|
||||
@ -14060,9 +14003,8 @@ cmdGuestInfo(vshControl *ctl, const vshCmd *cmd)
|
||||
goto cleanup;
|
||||
|
||||
for (i = 0; i < nparams; i++) {
|
||||
char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
g_autofree char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
vshPrint(ctl, "%-20s: %s\n", params[i].field, str);
|
||||
VIR_FREE(str);
|
||||
}
|
||||
|
||||
ret = true;
|
||||
|
@ -49,7 +49,7 @@ static const vshCmdInfo info_capabilities[] = {
|
||||
static bool
|
||||
cmdCapabilities(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
{
|
||||
char *caps;
|
||||
g_autofree char *caps = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if ((caps = virConnectGetCapabilities(priv->conn)) == NULL) {
|
||||
@ -57,7 +57,6 @@ cmdCapabilities(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
return false;
|
||||
}
|
||||
vshPrint(ctl, "%s\n", caps);
|
||||
VIR_FREE(caps);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -99,7 +98,7 @@ static bool
|
||||
cmdDomCapabilities(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
bool ret = false;
|
||||
char *caps = NULL;
|
||||
g_autofree char *caps = NULL;
|
||||
const char *virttype = NULL;
|
||||
const char *emulatorbin = NULL;
|
||||
const char *arch = NULL;
|
||||
@ -123,7 +122,6 @@ cmdDomCapabilities(vshControl *ctl, const vshCmd *cmd)
|
||||
vshPrint(ctl, "%s\n", caps);
|
||||
ret = true;
|
||||
cleanup:
|
||||
VIR_FREE(caps);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -159,14 +157,14 @@ cmdFreecell(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = false;
|
||||
int cell = -1;
|
||||
unsigned long long memory = 0;
|
||||
xmlNodePtr *nodes = NULL;
|
||||
g_autofree xmlNodePtr *nodes = NULL;
|
||||
unsigned long nodes_cnt;
|
||||
unsigned long *nodes_id = NULL;
|
||||
unsigned long long *nodes_free = NULL;
|
||||
g_autofree unsigned long *nodes_id = NULL;
|
||||
g_autofree unsigned long long *nodes_free = NULL;
|
||||
bool all = vshCommandOptBool(cmd, "all");
|
||||
bool cellno = vshCommandOptBool(cmd, "cellno");
|
||||
size_t i;
|
||||
char *cap_xml = NULL;
|
||||
g_autofree char *cap_xml = NULL;
|
||||
g_autoptr(xmlDoc) xml = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
@ -202,13 +200,11 @@ cmdFreecell(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
for (i = 0; i < nodes_cnt; i++) {
|
||||
unsigned long id;
|
||||
char *val = virXMLPropString(nodes[i], "id");
|
||||
g_autofree char *val = virXMLPropString(nodes[i], "id");
|
||||
if (virStrToLong_ulp(val, NULL, 10, &id)) {
|
||||
vshError(ctl, "%s", _("conversion from string failed"));
|
||||
VIR_FREE(val);
|
||||
goto cleanup;
|
||||
}
|
||||
VIR_FREE(val);
|
||||
nodes_id[i] = id;
|
||||
if (virNodeGetCellsFreeMemory(priv->conn, &(nodes_free[i]),
|
||||
id, 1) != 1) {
|
||||
@ -243,10 +239,6 @@ cmdFreecell(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(nodes);
|
||||
VIR_FREE(nodes_free);
|
||||
VIR_FREE(nodes_id);
|
||||
VIR_FREE(cap_xml);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -296,15 +288,15 @@ cmdFreepages(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
bool ret = false;
|
||||
unsigned int npages;
|
||||
unsigned int *pagesize = NULL;
|
||||
g_autofree unsigned int *pagesize = NULL;
|
||||
unsigned long long bytes = 0;
|
||||
unsigned int kibibytes = 0;
|
||||
int cell;
|
||||
unsigned long long *counts = NULL;
|
||||
g_autofree unsigned long long *counts = NULL;
|
||||
size_t i, j;
|
||||
xmlNodePtr *nodes = NULL;
|
||||
int nodes_cnt;
|
||||
char *cap_xml = NULL;
|
||||
g_autofree char *cap_xml = NULL;
|
||||
g_autoptr(xmlDoc) doc = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
bool all = vshCommandOptBool(cmd, "all");
|
||||
@ -347,15 +339,12 @@ cmdFreepages(vshControl *ctl, const vshCmd *cmd)
|
||||
pagesize = g_new0(unsigned int, nodes_cnt);
|
||||
|
||||
for (i = 0; i < nodes_cnt; i++) {
|
||||
char *val = virXMLPropString(nodes[i], "size");
|
||||
g_autofree char *val = virXMLPropString(nodes[i], "size");
|
||||
|
||||
if (virStrToLong_uip(val, NULL, 10, &pagesize[i]) < 0) {
|
||||
vshError(ctl, _("unable to parse page size: %s"), val);
|
||||
VIR_FREE(val);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
VIR_FREE(val);
|
||||
}
|
||||
|
||||
/* Here, if we've done the trick few lines above,
|
||||
@ -387,14 +376,12 @@ cmdFreepages(vshControl *ctl, const vshCmd *cmd)
|
||||
nodes_cnt = virXPathNodeSet("/capabilities/host/topology/cells/cell",
|
||||
ctxt, &nodes);
|
||||
for (i = 0; i < nodes_cnt; i++) {
|
||||
char *val = virXMLPropString(nodes[i], "id");
|
||||
g_autofree char *val = virXMLPropString(nodes[i], "id");
|
||||
|
||||
if (virStrToLong_i(val, NULL, 10, &cell) < 0) {
|
||||
vshError(ctl, _("unable to parse numa node id: %s"), val);
|
||||
VIR_FREE(val);
|
||||
goto cleanup;
|
||||
}
|
||||
VIR_FREE(val);
|
||||
|
||||
if (virNodeGetFreePages(priv->conn, npages, pagesize,
|
||||
cell, 1, counts, 0) < 0)
|
||||
@ -441,10 +428,7 @@ cmdFreepages(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
ret = true;
|
||||
cleanup:
|
||||
VIR_FREE(cap_xml);
|
||||
VIR_FREE(nodes);
|
||||
VIR_FREE(counts);
|
||||
VIR_FREE(pagesize);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -501,10 +485,10 @@ cmdAllocpages(vshControl *ctl, const vshCmd *cmd)
|
||||
unsigned int pageSizes[1];
|
||||
unsigned long long pageCounts[1], tmp;
|
||||
unsigned int flags = 0;
|
||||
char *cap_xml = NULL;
|
||||
g_autofree char *cap_xml = NULL;
|
||||
g_autoptr(xmlDoc) xml = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr *nodes = NULL;
|
||||
g_autofree xmlNodePtr *nodes = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
VSH_EXCLUSIVE_OPTIONS_VAR(all, cellno);
|
||||
@ -547,13 +531,11 @@ cmdAllocpages(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
for (i = 0; i < nodes_cnt; i++) {
|
||||
unsigned long id;
|
||||
char *val = virXMLPropString(nodes[i], "id");
|
||||
g_autofree char *val = virXMLPropString(nodes[i], "id");
|
||||
if (virStrToLong_ulp(val, NULL, 10, &id)) {
|
||||
vshError(ctl, "%s", _("conversion from string failed"));
|
||||
VIR_FREE(val);
|
||||
goto cleanup;
|
||||
}
|
||||
VIR_FREE(val);
|
||||
|
||||
if (virNodeAllocPages(priv->conn, 1, pageSizes,
|
||||
pageCounts, id, 1, flags) < 0)
|
||||
@ -567,8 +549,6 @@ cmdAllocpages(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
ret = true;
|
||||
cleanup:
|
||||
VIR_FREE(nodes);
|
||||
VIR_FREE(cap_xml);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -599,7 +579,7 @@ cmdMaxvcpus(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
const char *type = NULL;
|
||||
int vcpus = -1;
|
||||
char *caps = NULL;
|
||||
g_autofree char *caps = NULL;
|
||||
g_autoptr(xmlDoc) xml = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
@ -625,7 +605,6 @@ cmdMaxvcpus(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(caps);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -691,7 +670,7 @@ static bool
|
||||
cmdNodeCpuMap(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
{
|
||||
int cpu, cpunum;
|
||||
unsigned char *cpumap = NULL;
|
||||
g_autofree unsigned char *cpumap = NULL;
|
||||
unsigned int online;
|
||||
bool pretty = vshCommandOptBool(cmd, "pretty");
|
||||
bool ret = false;
|
||||
@ -708,12 +687,11 @@ cmdNodeCpuMap(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
|
||||
vshPrint(ctl, "%-15s ", _("CPU map:"));
|
||||
if (pretty) {
|
||||
char *str = virBitmapDataFormat(cpumap, VIR_CPU_MAPLEN(cpunum));
|
||||
g_autofree char *str = virBitmapDataFormat(cpumap, VIR_CPU_MAPLEN(cpunum));
|
||||
|
||||
if (!str)
|
||||
goto cleanup;
|
||||
vshPrint(ctl, "%s", str);
|
||||
VIR_FREE(str);
|
||||
} else {
|
||||
for (cpu = 0; cpu < cpunum; cpu++)
|
||||
vshPrint(ctl, "%c", VIR_CPU_USED(cpumap, cpu) ? 'y' : '-');
|
||||
@ -723,7 +701,6 @@ cmdNodeCpuMap(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(cpumap);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -788,7 +765,7 @@ cmdNodeCpuStats(vshControl *ctl, const vshCmd *cmd)
|
||||
size_t i, j;
|
||||
bool flag_percent = vshCommandOptBool(cmd, "percent");
|
||||
int cpuNum = VIR_NODE_CPU_STATS_ALL_CPUS;
|
||||
virNodeCPUStatsPtr params;
|
||||
g_autofree virNodeCPUStatsPtr params = NULL;
|
||||
int nparams = 0;
|
||||
bool ret = false;
|
||||
unsigned long long cpu_stats[VIRSH_CPU_LAST] = { 0 };
|
||||
@ -871,7 +848,6 @@ cmdNodeCpuStats(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(params);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -902,7 +878,7 @@ cmdNodeMemStats(vshControl *ctl, const vshCmd *cmd)
|
||||
int nparams = 0;
|
||||
size_t i;
|
||||
int cellNum = VIR_NODE_MEMORY_STATS_ALL_CELLS;
|
||||
virNodeMemoryStatsPtr params = NULL;
|
||||
g_autofree virNodeMemoryStatsPtr params = NULL;
|
||||
bool ret = false;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
@ -935,7 +911,6 @@ cmdNodeMemStats(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(params);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -1023,7 +998,7 @@ static const vshCmdInfo info_sysinfo[] = {
|
||||
static bool
|
||||
cmdSysinfo(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
{
|
||||
char *sysinfo;
|
||||
g_autofree char *sysinfo = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
sysinfo = virConnectGetSysinfo(priv->conn, 0);
|
||||
@ -1033,7 +1008,6 @@ cmdSysinfo(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
}
|
||||
|
||||
vshPrint(ctl, "%s", sysinfo);
|
||||
VIR_FREE(sysinfo);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -1054,7 +1028,7 @@ static const vshCmdInfo info_hostname[] = {
|
||||
static bool
|
||||
cmdHostname(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
{
|
||||
char *hostname;
|
||||
g_autofree char *hostname = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
hostname = virConnectGetHostname(priv->conn);
|
||||
@ -1064,7 +1038,6 @@ cmdHostname(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
}
|
||||
|
||||
vshPrint(ctl, "%s\n", hostname);
|
||||
VIR_FREE(hostname);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -1085,7 +1058,7 @@ static const vshCmdInfo info_uri[] = {
|
||||
static bool
|
||||
cmdURI(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
{
|
||||
char *uri;
|
||||
g_autofree char *uri = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
uri = virConnectGetURI(priv->conn);
|
||||
@ -1095,7 +1068,6 @@ cmdURI(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
}
|
||||
|
||||
vshPrint(ctl, "%s\n", uri);
|
||||
VIR_FREE(uri);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -1114,11 +1086,11 @@ vshExtractCPUDefXMLs(vshControl *ctl,
|
||||
const char *xmlFile)
|
||||
{
|
||||
char **cpus = NULL;
|
||||
char *buffer = NULL;
|
||||
char *xmlStr = NULL;
|
||||
g_autofree char *buffer = NULL;
|
||||
g_autofree char *xmlStr = NULL;
|
||||
g_autoptr(xmlDoc) xml = NULL;
|
||||
g_autoptr(xmlXPathContext) ctxt = NULL;
|
||||
xmlNodePtr *nodes = NULL;
|
||||
g_autofree xmlNodePtr *nodes = NULL;
|
||||
char *doc;
|
||||
size_t i;
|
||||
int n;
|
||||
@ -1177,9 +1149,6 @@ vshExtractCPUDefXMLs(vshControl *ctl,
|
||||
}
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(buffer);
|
||||
VIR_FREE(xmlStr);
|
||||
VIR_FREE(nodes);
|
||||
return cpus;
|
||||
|
||||
error:
|
||||
@ -1300,7 +1269,7 @@ cmdCPUBaseline(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
const char *from = NULL;
|
||||
bool ret = false;
|
||||
char *result = NULL;
|
||||
g_autofree char *result = NULL;
|
||||
g_auto(GStrv) list = NULL;
|
||||
unsigned int flags = 0;
|
||||
virshControl *priv = ctl->privData;
|
||||
@ -1325,7 +1294,6 @@ cmdCPUBaseline(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
}
|
||||
|
||||
VIR_FREE(result);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -1577,9 +1545,8 @@ cmdNodeMemoryTune(vshControl *ctl, const vshCmd *cmd)
|
||||
*/
|
||||
vshPrint(ctl, _("Shared memory:\n"));
|
||||
for (i = 0; i < nparams; i++) {
|
||||
char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
g_autofree char *str = vshGetTypedParamValue(ctl, ¶ms[i]);
|
||||
vshPrint(ctl, "\t%-15s %s\n", params[i].field, str);
|
||||
VIR_FREE(str);
|
||||
}
|
||||
} else {
|
||||
if (virNodeSetMemoryParameters(priv->conn, params, nparams, flags) != 0)
|
||||
@ -1766,7 +1733,7 @@ cmdHypervisorCPUBaseline(vshControl *ctl,
|
||||
const char *arch = NULL;
|
||||
const char *machine = NULL;
|
||||
bool ret = false;
|
||||
char *result = NULL;
|
||||
g_autofree char *result = NULL;
|
||||
char **list = NULL;
|
||||
unsigned int flags = 0;
|
||||
virshControl *priv = ctl->privData;
|
||||
@ -1797,7 +1764,6 @@ cmdHypervisorCPUBaseline(vshControl *ctl,
|
||||
ret = true;
|
||||
}
|
||||
|
||||
VIR_FREE(result);
|
||||
g_strfreev(list);
|
||||
return ret;
|
||||
}
|
||||
|
@ -486,7 +486,7 @@ cmdInterfaceDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virInterfacePtr iface;
|
||||
bool ret = true;
|
||||
char *dump;
|
||||
g_autofree char *dump = NULL;
|
||||
unsigned int flags = 0;
|
||||
bool inactive = vshCommandOptBool(cmd, "inactive");
|
||||
|
||||
@ -499,7 +499,6 @@ cmdInterfaceDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
dump = virInterfaceGetXMLDesc(iface, flags);
|
||||
if (dump != NULL) {
|
||||
vshPrint(ctl, "%s", dump);
|
||||
VIR_FREE(dump);
|
||||
} else {
|
||||
ret = false;
|
||||
}
|
||||
@ -533,7 +532,7 @@ cmdInterfaceDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
virInterfacePtr iface;
|
||||
const char *from = NULL;
|
||||
bool ret = true;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
@ -543,7 +542,6 @@ cmdInterfaceDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
return false;
|
||||
|
||||
iface = virInterfaceDefineXML(priv->conn, buffer, 0);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (iface != NULL) {
|
||||
vshPrintExtra(ctl, _("Interface %s defined from %s\n"),
|
||||
|
@ -206,7 +206,7 @@ cmdNetworkCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
virNetworkPtr network;
|
||||
const char *from = NULL;
|
||||
bool ret = true;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
@ -216,7 +216,6 @@ cmdNetworkCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
return false;
|
||||
|
||||
network = virNetworkCreateXML(priv->conn, buffer);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (network != NULL) {
|
||||
vshPrintExtra(ctl, _("Network %s created from %s\n"),
|
||||
@ -254,7 +253,7 @@ cmdNetworkDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
virNetworkPtr network;
|
||||
const char *from = NULL;
|
||||
bool ret = true;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
@ -264,7 +263,6 @@ cmdNetworkDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
return false;
|
||||
|
||||
network = virNetworkDefineXML(priv->conn, buffer);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (network != NULL) {
|
||||
vshPrintExtra(ctl, _("Network %s defined from %s\n"),
|
||||
@ -343,7 +341,7 @@ cmdNetworkDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virNetworkPtr network;
|
||||
bool ret = true;
|
||||
char *dump;
|
||||
g_autofree char *dump = NULL;
|
||||
unsigned int flags = 0;
|
||||
int inactive;
|
||||
|
||||
@ -358,7 +356,6 @@ cmdNetworkDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
if (dump != NULL) {
|
||||
vshPrint(ctl, "%s", dump);
|
||||
VIR_FREE(dump);
|
||||
} else {
|
||||
ret = false;
|
||||
}
|
||||
@ -964,7 +961,7 @@ cmdNetworkUpdate(vshControl *ctl, const vshCmd *cmd)
|
||||
const char *sectionStr = NULL;
|
||||
int command, section, parentIndex = -1;
|
||||
const char *xml = NULL;
|
||||
char *xmlFromFile = NULL;
|
||||
g_autofree char *xmlFromFile = NULL;
|
||||
bool config = vshCommandOptBool(cmd, "config");
|
||||
bool live = vshCommandOptBool(cmd, "live");
|
||||
unsigned int flags = VIR_NETWORK_UPDATE_AFFECT_CURRENT;
|
||||
@ -1059,7 +1056,6 @@ cmdNetworkUpdate(vshControl *ctl, const vshCmd *cmd)
|
||||
cleanup:
|
||||
vshReportError(ctl);
|
||||
virNetworkFree(network);
|
||||
VIR_FREE(xmlFromFile);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -1556,7 +1552,7 @@ cmdNetworkPortDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
virNetworkPtr network;
|
||||
virNetworkPortPtr port = NULL;
|
||||
bool ret = true;
|
||||
char *dump;
|
||||
g_autofree char *dump = NULL;
|
||||
unsigned int flags = 0;
|
||||
|
||||
if (!(network = virshCommandOptNetwork(ctl, cmd, NULL)))
|
||||
@ -1569,7 +1565,6 @@ cmdNetworkPortDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
if (dump != NULL) {
|
||||
vshPrint(ctl, "%s", dump);
|
||||
VIR_FREE(dump);
|
||||
} else {
|
||||
ret = false;
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ cmdNodeDeviceCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
virNodeDevicePtr dev = NULL;
|
||||
const char *from = NULL;
|
||||
bool ret = true;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
@ -68,7 +68,6 @@ cmdNodeDeviceCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
return false;
|
||||
|
||||
dev = virNodeDeviceCreateXML(priv->conn, buffer, 0);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (dev != NULL) {
|
||||
vshPrintExtra(ctl, _("Node device %s created from %s\n"),
|
||||
@ -293,7 +292,7 @@ virshNodeDeviceListCollect(vshControl *ctl,
|
||||
|
||||
/* filter the list if the list was acquired by fallback means */
|
||||
for (i = 0; i < list->ndevices; i++) {
|
||||
char **caps = NULL;
|
||||
g_autofree char **caps = NULL;
|
||||
int ncaps = 0;
|
||||
bool match = false;
|
||||
size_t j, k;
|
||||
@ -310,7 +309,6 @@ virshNodeDeviceListCollect(vshControl *ctl,
|
||||
|
||||
if ((ncaps = virNodeDeviceListCaps(device, caps, ncaps)) < 0) {
|
||||
vshError(ctl, "%s", _("Failed to get capability names of the device"));
|
||||
VIR_FREE(caps);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -326,8 +324,6 @@ virshNodeDeviceListCollect(vshControl *ctl,
|
||||
}
|
||||
}
|
||||
|
||||
VIR_FREE(caps);
|
||||
|
||||
if (!match)
|
||||
goto remove_entry;
|
||||
|
||||
@ -586,7 +582,7 @@ static bool
|
||||
cmdNodeDeviceDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virNodeDevicePtr device = NULL;
|
||||
char *xml = NULL;
|
||||
g_autofree char *xml = NULL;
|
||||
const char *device_value = NULL;
|
||||
bool ret = false;
|
||||
|
||||
@ -605,7 +601,6 @@ cmdNodeDeviceDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
ret = true;
|
||||
cleanup:
|
||||
VIR_FREE(xml);
|
||||
if (device)
|
||||
virNodeDeviceFree(device);
|
||||
return ret;
|
||||
@ -1084,7 +1079,7 @@ cmdNodeDeviceDefine(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
virNodeDevice *dev = NULL;
|
||||
const char *from = NULL;
|
||||
bool ret = true;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
@ -1094,7 +1089,6 @@ cmdNodeDeviceDefine(vshControl *ctl, const vshCmd *cmd G_GNUC_UNUSED)
|
||||
return false;
|
||||
|
||||
dev = virNodeDeviceDefineXML(priv->conn, buffer, 0);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (dev != NULL) {
|
||||
vshPrintExtra(ctl, _("Node device '%s' defined from '%s'\n"),
|
||||
|
@ -90,7 +90,7 @@ cmdNWFilterDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
virNWFilterPtr nwfilter;
|
||||
const char *from = NULL;
|
||||
bool ret = true;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
@ -100,7 +100,6 @@ cmdNWFilterDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
return false;
|
||||
|
||||
nwfilter = virNWFilterDefineXML(priv->conn, buffer);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (nwfilter != NULL) {
|
||||
vshPrintExtra(ctl, _("Network filter %s defined from %s\n"),
|
||||
@ -185,7 +184,7 @@ cmdNWFilterDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virNWFilterPtr nwfilter;
|
||||
bool ret = true;
|
||||
char *dump;
|
||||
g_autofree char *dump = NULL;
|
||||
|
||||
if (!(nwfilter = virshCommandOptNWFilter(ctl, cmd, NULL)))
|
||||
return false;
|
||||
@ -193,7 +192,6 @@ cmdNWFilterDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
dump = virNWFilterGetXMLDesc(nwfilter, 0);
|
||||
if (dump != NULL) {
|
||||
vshPrint(ctl, "%s", dump);
|
||||
VIR_FREE(dump);
|
||||
} else {
|
||||
ret = false;
|
||||
}
|
||||
@ -600,7 +598,7 @@ cmdNWFilterBindingDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virNWFilterBindingPtr binding;
|
||||
bool ret = true;
|
||||
char *dump;
|
||||
g_autofree char *dump = NULL;
|
||||
|
||||
if (!(binding = virshCommandOptNWFilterBinding(ctl, cmd, NULL)))
|
||||
return false;
|
||||
@ -608,7 +606,6 @@ cmdNWFilterBindingDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
dump = virNWFilterBindingGetXMLDesc(binding, 0);
|
||||
if (dump != NULL) {
|
||||
vshPrint(ctl, "%s", dump);
|
||||
VIR_FREE(dump);
|
||||
} else {
|
||||
ret = false;
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ cmdPoolCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
virStoragePoolPtr pool;
|
||||
const char *from = NULL;
|
||||
bool ret = true;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
bool build;
|
||||
bool overwrite;
|
||||
bool no_overwrite;
|
||||
@ -298,7 +298,6 @@ cmdPoolCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
return false;
|
||||
|
||||
pool = virStoragePoolCreateXML(priv->conn, buffer, flags);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (pool != NULL) {
|
||||
vshPrintExtra(ctl, _("Pool %s created from %s\n"),
|
||||
@ -464,7 +463,7 @@ cmdPoolCreateAs(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virStoragePoolPtr pool;
|
||||
const char *name;
|
||||
char *xml;
|
||||
g_autofree char *xml = NULL;
|
||||
bool printXML = vshCommandOptBool(cmd, "print-xml");
|
||||
bool build;
|
||||
bool overwrite;
|
||||
@ -491,10 +490,8 @@ cmdPoolCreateAs(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
if (printXML) {
|
||||
vshPrint(ctl, "%s", xml);
|
||||
VIR_FREE(xml);
|
||||
} else {
|
||||
pool = virStoragePoolCreateXML(priv->conn, xml, flags);
|
||||
VIR_FREE(xml);
|
||||
|
||||
if (pool != NULL) {
|
||||
vshPrintExtra(ctl, _("Pool %s created\n"), name);
|
||||
@ -533,7 +530,7 @@ cmdPoolDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
virStoragePoolPtr pool;
|
||||
const char *from = NULL;
|
||||
bool ret = true;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
|
||||
@ -543,7 +540,6 @@ cmdPoolDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
return false;
|
||||
|
||||
pool = virStoragePoolDefineXML(priv->conn, buffer, 0);
|
||||
VIR_FREE(buffer);
|
||||
|
||||
if (pool != NULL) {
|
||||
vshPrintExtra(ctl, _("Pool %s defined from %s\n"),
|
||||
@ -574,7 +570,7 @@ cmdPoolDefineAs(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virStoragePoolPtr pool;
|
||||
const char *name;
|
||||
char *xml;
|
||||
g_autofree char *xml = NULL;
|
||||
bool printXML = vshCommandOptBool(cmd, "print-xml");
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
@ -583,10 +579,8 @@ cmdPoolDefineAs(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
if (printXML) {
|
||||
vshPrint(ctl, "%s", xml);
|
||||
VIR_FREE(xml);
|
||||
} else {
|
||||
pool = virStoragePoolDefineXML(priv->conn, xml, 0);
|
||||
VIR_FREE(xml);
|
||||
|
||||
if (pool != NULL) {
|
||||
vshPrintExtra(ctl, _("Pool %s defined\n"), name);
|
||||
@ -799,7 +793,7 @@ cmdPoolDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
bool ret = true;
|
||||
bool inactive = vshCommandOptBool(cmd, "inactive");
|
||||
unsigned int flags = 0;
|
||||
char *dump;
|
||||
g_autofree char *dump = NULL;
|
||||
|
||||
if (inactive)
|
||||
flags |= VIR_STORAGE_XML_INACTIVE;
|
||||
@ -810,7 +804,6 @@ cmdPoolDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
dump = virStoragePoolGetXMLDesc(pool, flags);
|
||||
if (dump != NULL) {
|
||||
vshPrint(ctl, "%s", dump);
|
||||
VIR_FREE(dump);
|
||||
} else {
|
||||
ret = false;
|
||||
}
|
||||
@ -1442,8 +1435,8 @@ static bool
|
||||
cmdPoolDiscoverSourcesAs(vshControl * ctl, const vshCmd * cmd G_GNUC_UNUSED)
|
||||
{
|
||||
const char *type = NULL, *host = NULL;
|
||||
char *srcSpec = NULL;
|
||||
char *srcList;
|
||||
g_autofree char *srcSpec = NULL;
|
||||
g_autofree char *srcList = NULL;
|
||||
const char *initiator = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
@ -1479,13 +1472,11 @@ cmdPoolDiscoverSourcesAs(vshControl * ctl, const vshCmd * cmd G_GNUC_UNUSED)
|
||||
}
|
||||
|
||||
srcList = virConnectFindStoragePoolSources(priv->conn, type, srcSpec, 0);
|
||||
VIR_FREE(srcSpec);
|
||||
if (srcList == NULL) {
|
||||
vshError(ctl, _("Failed to find any %s pool sources"), type);
|
||||
return false;
|
||||
}
|
||||
vshPrint(ctl, "%s", srcList);
|
||||
VIR_FREE(srcList);
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -1832,7 +1823,7 @@ cmdPoolEdit(vshControl *ctl, const vshCmd *cmd)
|
||||
virStoragePoolPtr pool = NULL;
|
||||
virStoragePoolPtr pool_edited = NULL;
|
||||
unsigned int flags = VIR_STORAGE_XML_INACTIVE;
|
||||
char *tmp_desc = NULL;
|
||||
g_autofree char *tmp_desc = NULL;
|
||||
virshControl *priv = ctl->privData;
|
||||
|
||||
pool = virshCommandOptPool(ctl, cmd, "pool", NULL);
|
||||
@ -1847,8 +1838,6 @@ cmdPoolEdit(vshControl *ctl, const vshCmd *cmd)
|
||||
} else {
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
VIR_FREE(tmp_desc);
|
||||
}
|
||||
|
||||
#define EDIT_GET_XML virStoragePoolGetXMLDesc(pool, flags)
|
||||
|
@ -80,7 +80,7 @@ static bool
|
||||
cmdSecretDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
const char *from = NULL;
|
||||
char *buffer;
|
||||
g_autofree char *buffer = NULL;
|
||||
virSecretPtr res;
|
||||
char uuid[VIR_UUID_STRING_BUFLEN];
|
||||
bool ret = false;
|
||||
@ -106,7 +106,6 @@ cmdSecretDefine(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(buffer);
|
||||
virshSecretFree(res);
|
||||
return ret;
|
||||
}
|
||||
@ -139,7 +138,7 @@ cmdSecretDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virSecretPtr secret;
|
||||
bool ret = false;
|
||||
char *xml;
|
||||
g_autofree char *xml = NULL;
|
||||
|
||||
secret = virshCommandOptSecret(ctl, cmd, NULL);
|
||||
if (secret == NULL)
|
||||
@ -149,7 +148,6 @@ cmdSecretDumpXML(vshControl *ctl, const vshCmd *cmd)
|
||||
if (xml == NULL)
|
||||
goto cleanup;
|
||||
vshPrint(ctl, "%s", xml);
|
||||
VIR_FREE(xml);
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
|
@ -304,7 +304,7 @@ virshDomainGetXMLFromDom(vshControl *ctl,
|
||||
xmlDocPtr *xml,
|
||||
xmlXPathContextPtr *ctxt)
|
||||
{
|
||||
char *desc = NULL;
|
||||
g_autofree char *desc = NULL;
|
||||
|
||||
if (!(desc = virDomainGetXMLDesc(dom, flags))) {
|
||||
vshError(ctl, _("Failed to get domain description xml"));
|
||||
@ -312,7 +312,6 @@ virshDomainGetXMLFromDom(vshControl *ctl,
|
||||
}
|
||||
|
||||
*xml = virXMLParseStringCtxt(desc, _("(domain_definition)"), ctxt);
|
||||
VIR_FREE(desc);
|
||||
|
||||
if (!(*xml)) {
|
||||
vshError(ctl, _("Failed to parse domain description xml"));
|
||||
|
@ -233,7 +233,7 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virStoragePoolPtr pool;
|
||||
virStorageVolPtr vol = NULL;
|
||||
char *xml = NULL;
|
||||
g_autofree char *xml = NULL;
|
||||
bool printXML = vshCommandOptBool(cmd, "print-xml");
|
||||
const char *name, *capacityStr = NULL, *allocationStr = NULL, *format = NULL;
|
||||
const char *snapshotStrVol = NULL, *snapshotStrFormat = NULL;
|
||||
@ -290,7 +290,7 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd)
|
||||
/* Convert the snapshot parameters into backingStore XML */
|
||||
if (snapshotStrVol) {
|
||||
virStorageVolPtr snapVol;
|
||||
char *snapshotStrVolPath;
|
||||
g_autofree char *snapshotStrVolPath = NULL;
|
||||
/* Lookup snapshot backing volume. Try the backing-vol
|
||||
* parameter as a name */
|
||||
vshDebug(ctl, VSH_ERR_DEBUG,
|
||||
@ -347,7 +347,6 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd)
|
||||
virBufferAddLit(&buf, "</backingStore>\n");
|
||||
|
||||
/* Cleanup snapshot allocations */
|
||||
VIR_FREE(snapshotStrVolPath);
|
||||
virStorageVolFree(snapVol);
|
||||
}
|
||||
|
||||
@ -372,7 +371,6 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd)
|
||||
if (vol)
|
||||
virStorageVolFree(vol);
|
||||
virStoragePoolFree(pool);
|
||||
VIR_FREE(xml);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -407,7 +405,7 @@ cmdVolCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
const char *from = NULL;
|
||||
bool ret = false;
|
||||
unsigned int flags = 0;
|
||||
char *buffer = NULL;
|
||||
g_autofree char *buffer = NULL;
|
||||
|
||||
if (vshCommandOptBool(cmd, "prealloc-metadata"))
|
||||
flags |= VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA;
|
||||
@ -433,7 +431,6 @@ cmdVolCreate(vshControl *ctl, const vshCmd *cmd)
|
||||
}
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(buffer);
|
||||
virStoragePoolFree(pool);
|
||||
return ret;
|
||||
}
|
||||
@ -477,7 +474,7 @@ cmdVolCreateFrom(vshControl *ctl, const vshCmd *cmd)
|
||||
virStorageVolPtr newvol = NULL, inputvol = NULL;
|
||||
const char *from = NULL;
|
||||
bool ret = false;
|
||||
char *buffer = NULL;
|
||||
g_autofree char *buffer = NULL;
|
||||
unsigned int flags = 0;
|
||||
|
||||
if (!(pool = virshCommandOptPool(ctl, cmd, "pool", NULL)))
|
||||
@ -512,7 +509,6 @@ cmdVolCreateFrom(vshControl *ctl, const vshCmd *cmd)
|
||||
|
||||
ret = true;
|
||||
cleanup:
|
||||
VIR_FREE(buffer);
|
||||
if (pool)
|
||||
virStoragePoolFree(pool);
|
||||
if (inputvol)
|
||||
@ -585,7 +581,7 @@ cmdVolClone(vshControl *ctl, const vshCmd *cmd)
|
||||
virStoragePoolPtr origpool = NULL;
|
||||
virStorageVolPtr origvol = NULL, newvol = NULL;
|
||||
const char *name = NULL;
|
||||
char *origxml = NULL;
|
||||
g_autofree char *origxml = NULL;
|
||||
xmlChar *newxml = NULL;
|
||||
bool ret = false;
|
||||
unsigned int flags = 0;
|
||||
@ -632,7 +628,6 @@ cmdVolClone(vshControl *ctl, const vshCmd *cmd)
|
||||
ret = true;
|
||||
|
||||
cleanup:
|
||||
VIR_FREE(origxml);
|
||||
xmlFree(newxml);
|
||||
if (origvol)
|
||||
virStorageVolFree(origvol);
|
||||
@ -1680,7 +1675,7 @@ static bool
|
||||
cmdVolPath(vshControl *ctl, const vshCmd *cmd)
|
||||
{
|
||||
virStorageVolPtr vol;
|
||||
char * StorageVolPath;
|
||||
g_autofree char *StorageVolPath = NULL;
|
||||
|
||||
if (!(vol = virshCommandOptVol(ctl, cmd, "vol", "pool", NULL)))
|
||||
return false;
|
||||
@ -1691,7 +1686,6 @@ cmdVolPath(vshControl *ctl, const vshCmd *cmd)
|
||||
}
|
||||
|
||||
vshPrint(ctl, "%s\n", StorageVolPath);
|
||||
VIR_FREE(StorageVolPath);
|
||||
virStorageVolFree(vol);
|
||||
return true;
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ virshCatchDisconnect(virConnectPtr conn,
|
||||
vshControl *ctl = opaque;
|
||||
const char *str = "unknown reason";
|
||||
virErrorPtr error;
|
||||
char *uri;
|
||||
g_autofree char *uri = NULL;
|
||||
|
||||
virErrorPreserveLast(&error);
|
||||
uri = virConnectGetURI(conn);
|
||||
@ -101,7 +101,6 @@ virshCatchDisconnect(virConnectPtr conn,
|
||||
break;
|
||||
}
|
||||
vshError(ctl, _(str), NULLSTR(uri));
|
||||
VIR_FREE(uri);
|
||||
|
||||
virErrorRestore(&error);
|
||||
disconnected++;
|
||||
|
Loading…
Reference in New Issue
Block a user