1883 lines
71 KiB
Diff
1883 lines
71 KiB
Diff
Index: libvirt-0.7.1/src/virsh.c
|
|
===================================================================
|
|
--- libvirt-0.7.1.orig/src/virsh.c
|
|
+++ libvirt-0.7.1/src/virsh.c
|
|
@@ -202,8 +202,8 @@ typedef struct __vshControl {
|
|
|
|
static const vshCmdDef commands[];
|
|
|
|
-static void vshError(vshControl *ctl, int doexit, const char *format, ...)
|
|
- ATTRIBUTE_FMT_PRINTF(3, 4);
|
|
+static void vshError(vshControl *ctl, const char *format, ...)
|
|
+ ATTRIBUTE_FMT_PRINTF(2, 3);
|
|
static int vshInit(vshControl *ctl);
|
|
static int vshDeinit(vshControl *ctl);
|
|
static void vshUsage(void);
|
|
@@ -351,11 +351,11 @@ virshReportError(vshControl *ctl)
|
|
return;
|
|
|
|
if (last_error->code == VIR_ERR_OK) {
|
|
- vshError(ctl, FALSE, "%s", _("unknown error"));
|
|
+ vshError(ctl, "%s", _("unknown error"));
|
|
goto out;
|
|
}
|
|
|
|
- vshError(ctl, FALSE, "%s", last_error->message);
|
|
+ vshError(ctl, "%s", last_error->message);
|
|
|
|
out:
|
|
virFreeError(last_error);
|
|
@@ -433,11 +433,9 @@ cmdAutostart(vshControl *ctl, const vshC
|
|
|
|
if (virDomainSetAutostart(dom, autostart) < 0) {
|
|
if (autostart)
|
|
- vshError(ctl, FALSE, _("Failed to mark domain %s as autostarted"),
|
|
- name);
|
|
+ vshError(ctl, _("Failed to mark domain %s as autostarted"), name);
|
|
else
|
|
- vshError(ctl, FALSE, _("Failed to unmark domain %s as autostarted"),
|
|
- name);
|
|
+ vshError(ctl, _("Failed to unmark domain %s as autostarted"), name);
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -474,8 +472,7 @@ cmdConnect(vshControl *ctl, const vshCmd
|
|
|
|
if (ctl->conn) {
|
|
if (virConnectClose(ctl->conn) != 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("Failed to disconnect from the hypervisor"));
|
|
+ vshError(ctl, "%s", _("Failed to disconnect from the hypervisor"));
|
|
return FALSE;
|
|
}
|
|
ctl->conn = NULL;
|
|
@@ -494,7 +491,7 @@ cmdConnect(vshControl *ctl, const vshCmd
|
|
ctl->readonly ? VIR_CONNECT_RO : 0);
|
|
|
|
if (!ctl->conn)
|
|
- vshError(ctl, FALSE, "%s", _("Failed to connect to the hypervisor"));
|
|
+ vshError(ctl, "%s", _("Failed to connect to the hypervisor"));
|
|
|
|
return ctl->conn ? TRUE : FALSE;
|
|
}
|
|
@@ -528,17 +525,17 @@ cmdRunConsole(vshControl *ctl, virDomain
|
|
char *thisHost = NULL;
|
|
|
|
if (!(thisHost = virGetHostname())) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to get local hostname"));
|
|
+ vshError(ctl, "%s", _("Failed to get local hostname"));
|
|
goto cleanup;
|
|
}
|
|
|
|
if (!(thatHost = virConnectGetHostname(ctl->conn))) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to get connection hostname"));
|
|
+ vshError(ctl, "%s", _("Failed to get connection hostname"));
|
|
goto cleanup;
|
|
}
|
|
|
|
if (STRNEQ(thisHost, thatHost)) {
|
|
- vshError(ctl, FALSE, "%s", _("Cannot connect to a remote console device"));
|
|
+ vshError(ctl, "%s", _("Cannot connect to a remote console device"));
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -632,14 +629,14 @@ cmdList(vshControl *ctl, const vshCmd *c
|
|
if (active) {
|
|
maxid = virConnectNumOfDomains(ctl->conn);
|
|
if (maxid < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list active domains"));
|
|
+ vshError(ctl, "%s", _("Failed to list active domains"));
|
|
return FALSE;
|
|
}
|
|
if (maxid) {
|
|
ids = vshMalloc(ctl, sizeof(int) * maxid);
|
|
|
|
if ((maxid = virConnectListDomains(ctl->conn, &ids[0], maxid)) < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list active domains"));
|
|
+ vshError(ctl, "%s", _("Failed to list active domains"));
|
|
free(ids);
|
|
return FALSE;
|
|
}
|
|
@@ -650,7 +647,7 @@ cmdList(vshControl *ctl, const vshCmd *c
|
|
if (inactive) {
|
|
maxname = virConnectNumOfDefinedDomains(ctl->conn);
|
|
if (maxname < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list inactive domains"));
|
|
+ vshError(ctl, "%s", _("Failed to list inactive domains"));
|
|
free(ids);
|
|
return FALSE;
|
|
}
|
|
@@ -658,7 +655,7 @@ cmdList(vshControl *ctl, const vshCmd *c
|
|
names = vshMalloc(ctl, sizeof(char *) * maxname);
|
|
|
|
if ((maxname = virConnectListDefinedDomains(ctl->conn, names, maxname)) < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list inactive domains"));
|
|
+ vshError(ctl, "%s", _("Failed to list inactive domains"));
|
|
free(ids);
|
|
free(names);
|
|
return FALSE;
|
|
@@ -786,8 +783,7 @@ cmdDomblkstat (vshControl *ctl, const vs
|
|
}
|
|
|
|
if (virDomainBlockStats (dom, device, &stats, sizeof stats) == -1) {
|
|
- vshError (ctl, FALSE, _("Failed to get block stats %s %s"),
|
|
- name, device);
|
|
+ vshError(ctl, _("Failed to get block stats %s %s"), name, device);
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -844,8 +840,7 @@ cmdDomIfstat (vshControl *ctl, const vsh
|
|
}
|
|
|
|
if (virDomainInterfaceStats (dom, device, &stats, sizeof stats) == -1) {
|
|
- vshError (ctl, FALSE, _("Failed to get interface stats %s %s"),
|
|
- name, device);
|
|
+ vshError(ctl, _("Failed to get interface stats %s %s"), name, device);
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -908,7 +903,7 @@ cmdSuspend(vshControl *ctl, const vshCmd
|
|
if (virDomainSuspend(dom) == 0) {
|
|
vshPrint(ctl, _("Domain %s suspended\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to suspend domain %s"), name);
|
|
+ vshError(ctl, _("Failed to suspend domain %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -967,7 +962,7 @@ cmdCreate(vshControl *ctl, const vshCmd
|
|
#endif
|
|
virDomainFree(dom);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to create domain from %s"), from);
|
|
+ vshError(ctl, _("Failed to create domain from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
return ret;
|
|
@@ -1014,7 +1009,7 @@ cmdDefine(vshControl *ctl, const vshCmd
|
|
virDomainGetName(dom), from);
|
|
virDomainFree(dom);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to define domain from %s"), from);
|
|
+ vshError(ctl, _("Failed to define domain from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
return ret;
|
|
@@ -1052,9 +1047,11 @@ cmdUndefine(vshControl *ctl, const vshCm
|
|
|
|
if (name && virStrToLong_i(name, NULL, 10, &id) == 0
|
|
&& id >= 0 && (dom = virDomainLookupByID(ctl->conn, id))) {
|
|
- vshError(ctl, FALSE, _("a running domain like %s cannot be undefined;\n"
|
|
- "to undefine, first shutdown then undefine"
|
|
- " using its name or UUID"), name);
|
|
+ vshError(ctl,
|
|
+ _("a running domain like %s cannot be undefined;\n"
|
|
+ "to undefine, first shutdown then undefine"
|
|
+ " using its name or UUID"),
|
|
+ name);
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -1065,7 +1062,7 @@ cmdUndefine(vshControl *ctl, const vshCm
|
|
if (virDomainUndefine(dom) == 0) {
|
|
vshPrint(ctl, _("Domain %s has been undefined\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to undefine domain %s"), name);
|
|
+ vshError(ctl, _("Failed to undefine domain %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -1107,7 +1104,7 @@ cmdStart(vshControl *ctl, const vshCmd *
|
|
return FALSE;
|
|
|
|
if (virDomainGetID(dom) != (unsigned int)-1) {
|
|
- vshError(ctl, FALSE, "%s", _("Domain is already active"));
|
|
+ vshError(ctl, "%s", _("Domain is already active"));
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -1120,8 +1117,7 @@ cmdStart(vshControl *ctl, const vshCmd *
|
|
cmdRunConsole(ctl, dom);
|
|
#endif
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to start domain %s"),
|
|
- virDomainGetName(dom));
|
|
+ vshError(ctl, _("Failed to start domain %s"), virDomainGetName(dom));
|
|
ret = FALSE;
|
|
}
|
|
virDomainFree(dom);
|
|
@@ -1163,7 +1159,7 @@ cmdSave(vshControl *ctl, const vshCmd *c
|
|
if (virDomainSave(dom, to) == 0) {
|
|
vshPrint(ctl, _("Domain %s saved to %s\n"), name, to);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to save domain %s to %s"), name, to);
|
|
+ vshError(ctl, _("Failed to save domain %s to %s"), name, to);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -1202,7 +1198,7 @@ cmdSchedInfoUpdate(vshControl *ctl, cons
|
|
int val;
|
|
val = vshCommandOptInt(cmd, "weight", &found);
|
|
if (!found) {
|
|
- vshError(ctl, FALSE, "%s", _("Invalid value of weight"));
|
|
+ vshError(ctl, "%s", _("Invalid value of weight"));
|
|
return -1;
|
|
} else {
|
|
param->value.ui = val;
|
|
@@ -1217,7 +1213,7 @@ cmdSchedInfoUpdate(vshControl *ctl, cons
|
|
int val;
|
|
val = vshCommandOptInt(cmd, "cap", &found);
|
|
if (!found) {
|
|
- vshError(ctl, FALSE, "%s", _("Invalid value of cap"));
|
|
+ vshError(ctl, "%s", _("Invalid value of cap"));
|
|
return -1;
|
|
} else {
|
|
param->value.ui = val;
|
|
@@ -1229,7 +1225,7 @@ cmdSchedInfoUpdate(vshControl *ctl, cons
|
|
char *val = strchr(data, '=');
|
|
int match = 0;
|
|
if (!val) {
|
|
- vshError(ctl, FALSE, "%s", _("Invalid syntax for --set, expecting name=value"));
|
|
+ vshError(ctl, "%s", _("Invalid syntax for --set, expecting name=value"));
|
|
return -1;
|
|
}
|
|
*val = '\0';
|
|
@@ -1243,35 +1239,35 @@ cmdSchedInfoUpdate(vshControl *ctl, cons
|
|
switch (param->type) {
|
|
case VIR_DOMAIN_SCHED_FIELD_INT:
|
|
if (virStrToLong_i(val, NULL, 10, ¶m->value.i) < 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
+ vshError(ctl, "%s",
|
|
_("Invalid value for parameter, expecting an int"));
|
|
return -1;
|
|
}
|
|
break;
|
|
case VIR_DOMAIN_SCHED_FIELD_UINT:
|
|
if (virStrToLong_ui(val, NULL, 10, ¶m->value.ui) < 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
+ vshError(ctl, "%s",
|
|
_("Invalid value for parameter, expecting an unsigned int"));
|
|
return -1;
|
|
}
|
|
break;
|
|
case VIR_DOMAIN_SCHED_FIELD_LLONG:
|
|
if (virStrToLong_ll(val, NULL, 10, ¶m->value.l) < 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
+ vshError(ctl, "%s",
|
|
_("Invalid value for parameter, expecting an long long"));
|
|
return -1;
|
|
}
|
|
break;
|
|
case VIR_DOMAIN_SCHED_FIELD_ULLONG:
|
|
if (virStrToLong_ull(val, NULL, 10, ¶m->value.ul) < 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
+ vshError(ctl, "%s",
|
|
_("Invalid value for parameter, expecting an unsigned long long"));
|
|
return -1;
|
|
}
|
|
break;
|
|
case VIR_DOMAIN_SCHED_FIELD_DOUBLE:
|
|
if (virStrToDouble(val, NULL, ¶m->value.d) < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Invalid value for parameter, expecting a double"));
|
|
+ vshError(ctl, "%s", _("Invalid value for parameter, expecting a double"));
|
|
return -1;
|
|
}
|
|
break;
|
|
@@ -1408,7 +1404,7 @@ cmdRestore(vshControl *ctl, const vshCmd
|
|
if (virDomainRestore(ctl->conn, from) == 0) {
|
|
vshPrint(ctl, _("Domain restored from %s\n"), from);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to restore domain from %s"), from);
|
|
+ vshError(ctl, _("Failed to restore domain from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
return ret;
|
|
@@ -1449,8 +1445,7 @@ cmdDump(vshControl *ctl, const vshCmd *c
|
|
if (virDomainCoreDump(dom, to, 0) == 0) {
|
|
vshPrint(ctl, _("Domain %s dumped to %s\n"), name, to);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to core dump domain %s to %s"),
|
|
- name, to);
|
|
+ vshError(ctl, _("Failed to core dump domain %s to %s"), name, to);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -1488,7 +1483,7 @@ cmdResume(vshControl *ctl, const vshCmd
|
|
if (virDomainResume(dom) == 0) {
|
|
vshPrint(ctl, _("Domain %s resumed\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to resume domain %s"), name);
|
|
+ vshError(ctl, _("Failed to resume domain %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -1526,7 +1521,7 @@ cmdShutdown(vshControl *ctl, const vshCm
|
|
if (virDomainShutdown(dom) == 0) {
|
|
vshPrint(ctl, _("Domain %s is being shutdown\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to shutdown domain %s"), name);
|
|
+ vshError(ctl, _("Failed to shutdown domain %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -1564,7 +1559,7 @@ cmdReboot(vshControl *ctl, const vshCmd
|
|
if (virDomainReboot(dom, 0) == 0) {
|
|
vshPrint(ctl, _("Domain %s is being rebooted\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to reboot domain %s"), name);
|
|
+ vshError(ctl, _("Failed to reboot domain %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -1602,7 +1597,7 @@ cmdDestroy(vshControl *ctl, const vshCmd
|
|
if (virDomainDestroy(dom) == 0) {
|
|
vshPrint(ctl, _("Domain %s destroyed\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to destroy domain %s"), name);
|
|
+ vshError(ctl, _("Failed to destroy domain %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -1835,8 +1830,8 @@ cmdVcpuinfo(vshControl *ctl, const vshCm
|
|
}
|
|
} else {
|
|
if (info.state == VIR_DOMAIN_SHUTOFF) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("Domain shut off, virtual CPUs not present."));
|
|
+ vshError(ctl, "%s",
|
|
+ _("Domain shut off, virtual CPUs not present."));
|
|
}
|
|
ret = FALSE;
|
|
}
|
|
@@ -1886,14 +1881,13 @@ cmdVcpupin(vshControl *ctl, const vshCmd
|
|
|
|
vcpu = vshCommandOptInt(cmd, "vcpu", &vcpufound);
|
|
if (!vcpufound) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("vcpupin: Invalid or missing vCPU number."));
|
|
+ vshError(ctl, "%s", _("vcpupin: Invalid or missing vCPU number."));
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
|
|
if (!(cpulist = vshCommandOptString(cmd, "cpulist", NULL))) {
|
|
- vshError(ctl, FALSE, "%s", _("vcpupin: Missing cpulist"));
|
|
+ vshError(ctl, "%s", _("vcpupin: Missing cpulist"));
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -1904,14 +1898,13 @@ cmdVcpupin(vshControl *ctl, const vshCmd
|
|
}
|
|
|
|
if (virDomainGetInfo(dom, &info) != 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("vcpupin: failed to get domain informations."));
|
|
+ vshError(ctl, "%s", _("vcpupin: failed to get domain informations."));
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
|
|
if (vcpu >= info.nrVirtCpu) {
|
|
- vshError(ctl, FALSE, "%s", _("vcpupin: Invalid vCPU number."));
|
|
+ vshError(ctl, "%s", _("vcpupin: Invalid vCPU number."));
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -1920,7 +1913,7 @@ cmdVcpupin(vshControl *ctl, const vshCmd
|
|
* numbers and give an intelligent error message if not.
|
|
*/
|
|
if (cpulist[0] == '\0') {
|
|
- vshError(ctl, FALSE, "%s", _("cpulist: Invalid format. Empty string."));
|
|
+ vshError(ctl, "%s", _("cpulist: Invalid format. Empty string."));
|
|
virDomainFree (dom);
|
|
return FALSE;
|
|
}
|
|
@@ -1930,7 +1923,9 @@ cmdVcpupin(vshControl *ctl, const vshCmd
|
|
switch (state) {
|
|
case expect_num:
|
|
if (!c_isdigit (cpulist[i])) {
|
|
- vshError( ctl, FALSE, _("cpulist: %s: Invalid format. Expecting digit at position %d (near '%c')."), cpulist, i, cpulist[i]);
|
|
+ vshError(ctl, _("cpulist: %s: Invalid format. Expecting "
|
|
+ "digit at position %d (near '%c')."),
|
|
+ cpulist, i, cpulist[i]);
|
|
virDomainFree (dom);
|
|
return FALSE;
|
|
}
|
|
@@ -1940,14 +1935,18 @@ cmdVcpupin(vshControl *ctl, const vshCmd
|
|
if (cpulist[i] == ',')
|
|
state = expect_num;
|
|
else if (!c_isdigit (cpulist[i])) {
|
|
- vshError(ctl, FALSE, _("cpulist: %s: Invalid format. Expecting digit or comma at position %d (near '%c')."), cpulist, i, cpulist[i]);
|
|
+ vshError(ctl, _("cpulist: %s: Invalid format. Expecting "
|
|
+ "digit or comma at position %d (near '%c')."),
|
|
+ cpulist, i, cpulist[i]);
|
|
virDomainFree (dom);
|
|
return FALSE;
|
|
}
|
|
}
|
|
}
|
|
if (state == expect_num) {
|
|
- vshError(ctl, FALSE, _("cpulist: %s: Invalid format. Trailing comma at position %d."), cpulist, i);
|
|
+ vshError(ctl, _("cpulist: %s: Invalid format. Trailing comma "
|
|
+ "at position %d."),
|
|
+ cpulist, i);
|
|
virDomainFree (dom);
|
|
return FALSE;
|
|
}
|
|
@@ -1961,7 +1960,7 @@ cmdVcpupin(vshControl *ctl, const vshCmd
|
|
if (cpu < VIR_NODEINFO_MAXCPUS(nodeinfo)) {
|
|
VIR_USE_CPU(cpumap, cpu);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Physical CPU %d doesn't exist."), cpu);
|
|
+ vshError(ctl, _("Physical CPU %d doesn't exist."), cpu);
|
|
free(cpumap);
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
@@ -2011,7 +2010,7 @@ cmdSetvcpus(vshControl *ctl, const vshCm
|
|
|
|
count = vshCommandOptInt(cmd, "count", &count);
|
|
if (count <= 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Invalid number of virtual CPUs."));
|
|
+ vshError(ctl, "%s", _("Invalid number of virtual CPUs."));
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -2023,7 +2022,7 @@ cmdSetvcpus(vshControl *ctl, const vshCm
|
|
}
|
|
|
|
if (count > maxcpu) {
|
|
- vshError(ctl, FALSE, "%s", _("Too many virtual CPUs."));
|
|
+ vshError(ctl, "%s", _("Too many virtual CPUs."));
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -2068,19 +2067,19 @@ cmdSetmem(vshControl *ctl, const vshCmd
|
|
kilobytes = vshCommandOptInt(cmd, "kilobytes", &kilobytes);
|
|
if (kilobytes <= 0) {
|
|
virDomainFree(dom);
|
|
- vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes);
|
|
+ vshError(ctl, _("Invalid value of %d for memory size"), kilobytes);
|
|
return FALSE;
|
|
}
|
|
|
|
if (virDomainGetInfo(dom, &info) != 0) {
|
|
virDomainFree(dom);
|
|
- vshError(ctl, FALSE, "%s", _("Unable to verify MaxMemorySize"));
|
|
+ vshError(ctl, "%s", _("Unable to verify MaxMemorySize"));
|
|
return FALSE;
|
|
}
|
|
|
|
if (kilobytes > info.maxMem) {
|
|
virDomainFree(dom);
|
|
- vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes);
|
|
+ vshError(ctl, _("Invalid value of %d for memory size"), kilobytes);
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -2124,26 +2123,26 @@ cmdSetmaxmem(vshControl *ctl, const vshC
|
|
kilobytes = vshCommandOptInt(cmd, "kilobytes", &kilobytes);
|
|
if (kilobytes <= 0) {
|
|
virDomainFree(dom);
|
|
- vshError(ctl, FALSE, _("Invalid value of %d for memory size"), kilobytes);
|
|
+ vshError(ctl, _("Invalid value of %d for memory size"), kilobytes);
|
|
return FALSE;
|
|
}
|
|
|
|
if (virDomainGetInfo(dom, &info) != 0) {
|
|
virDomainFree(dom);
|
|
- vshError(ctl, FALSE, "%s", _("Unable to verify current MemorySize"));
|
|
+ vshError(ctl, "%s", _("Unable to verify current MemorySize"));
|
|
return FALSE;
|
|
}
|
|
|
|
if (kilobytes < info.memory) {
|
|
if (virDomainSetMemory(dom, kilobytes) != 0) {
|
|
virDomainFree(dom);
|
|
- vshError(ctl, FALSE, "%s", _("Unable to shrink current MemorySize"));
|
|
+ vshError(ctl, "%s", _("Unable to shrink current MemorySize"));
|
|
return FALSE;
|
|
}
|
|
}
|
|
|
|
if (virDomainSetMaxMemory(dom, kilobytes) != 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Unable to change MaxMemorySize"));
|
|
+ vshError(ctl, "%s", _("Unable to change MaxMemorySize"));
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -2169,7 +2168,7 @@ cmdNodeinfo(vshControl *ctl, const vshCm
|
|
return FALSE;
|
|
|
|
if (virNodeGetInfo(ctl->conn, &info) < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("failed to get node information"));
|
|
+ vshError(ctl, "%s", _("failed to get node information"));
|
|
return FALSE;
|
|
}
|
|
vshPrint(ctl, "%-20s %s\n", _("CPU model:"), info.model);
|
|
@@ -2202,7 +2201,7 @@ cmdCapabilities (vshControl *ctl, const
|
|
return FALSE;
|
|
|
|
if ((caps = virConnectGetCapabilities (ctl->conn)) == NULL) {
|
|
- vshError(ctl, FALSE, "%s", _("failed to get capabilities"));
|
|
+ vshError(ctl, "%s", _("failed to get capabilities"));
|
|
return FALSE;
|
|
}
|
|
vshPrint (ctl, "%s\n", caps);
|
|
@@ -2446,7 +2445,7 @@ cmdDomuuid(vshControl *ctl, const vshCmd
|
|
if (virDomainGetUUIDString(dom, uuid) != -1)
|
|
vshPrint(ctl, "%s\n", uuid);
|
|
else
|
|
- vshError(ctl, FALSE, "%s", _("failed to get domain UUID"));
|
|
+ vshError(ctl, "%s", _("failed to get domain UUID"));
|
|
|
|
virDomainFree(dom);
|
|
return TRUE;
|
|
@@ -2489,7 +2488,7 @@ cmdMigrate (vshControl *ctl, const vshCm
|
|
|
|
desturi = vshCommandOptString (cmd, "desturi", &found);
|
|
if (!found) {
|
|
- vshError (ctl, FALSE, "%s", _("migrate: Missing desturi"));
|
|
+ vshError(ctl, "%s", _("migrate: Missing desturi"));
|
|
goto done;
|
|
}
|
|
|
|
@@ -2550,11 +2549,9 @@ cmdNetworkAutostart(vshControl *ctl, con
|
|
|
|
if (virNetworkSetAutostart(network, autostart) < 0) {
|
|
if (autostart)
|
|
- vshError(ctl, FALSE, _("failed to mark network %s as autostarted"),
|
|
- name);
|
|
+ vshError(ctl, _("failed to mark network %s as autostarted"), name);
|
|
else
|
|
- vshError(ctl, FALSE,_("failed to unmark network %s as autostarted"),
|
|
- name);
|
|
+ vshError(ctl, _("failed to unmark network %s as autostarted"), name);
|
|
virNetworkFree(network);
|
|
return FALSE;
|
|
}
|
|
@@ -2609,7 +2606,7 @@ cmdNetworkCreate(vshControl *ctl, const
|
|
virNetworkGetName(network), from);
|
|
virNetworkFree(network);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to create network from %s"), from);
|
|
+ vshError(ctl, _("Failed to create network from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
return ret;
|
|
@@ -2657,7 +2654,7 @@ cmdNetworkDefine(vshControl *ctl, const
|
|
virNetworkGetName(network), from);
|
|
virNetworkFree(network);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to define network from %s"), from);
|
|
+ vshError(ctl, _("Failed to define network from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
return ret;
|
|
@@ -2694,7 +2691,7 @@ cmdNetworkDestroy(vshControl *ctl, const
|
|
if (virNetworkDestroy(network) == 0) {
|
|
vshPrint(ctl, _("Network %s destroyed\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to destroy network %s"), name);
|
|
+ vshError(ctl, _("Failed to destroy network %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -2811,8 +2808,8 @@ cmdInterfaceEdit (vshControl *ctl, const
|
|
goto cleanup;
|
|
|
|
if (STRNEQ (doc, doc_reread)) {
|
|
- vshError (ctl, FALSE, "%s",
|
|
- _("ERROR: the XML configuration was changed by another user"));
|
|
+ vshError(ctl, "%s",
|
|
+ _("ERROR: the XML configuration was changed by another user"));
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -2874,7 +2871,7 @@ cmdNetworkList(vshControl *ctl, const vs
|
|
if (active) {
|
|
maxactive = virConnectNumOfNetworks(ctl->conn);
|
|
if (maxactive < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list active networks"));
|
|
+ vshError(ctl, "%s", _("Failed to list active networks"));
|
|
return FALSE;
|
|
}
|
|
if (maxactive) {
|
|
@@ -2882,7 +2879,7 @@ cmdNetworkList(vshControl *ctl, const vs
|
|
|
|
if ((maxactive = virConnectListNetworks(ctl->conn, activeNames,
|
|
maxactive)) < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list active networks"));
|
|
+ vshError(ctl, "%s", _("Failed to list active networks"));
|
|
free(activeNames);
|
|
return FALSE;
|
|
}
|
|
@@ -2893,7 +2890,7 @@ cmdNetworkList(vshControl *ctl, const vs
|
|
if (inactive) {
|
|
maxinactive = virConnectNumOfDefinedNetworks(ctl->conn);
|
|
if (maxinactive < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list inactive networks"));
|
|
+ vshError(ctl, "%s", _("Failed to list inactive networks"));
|
|
free(activeNames);
|
|
return FALSE;
|
|
}
|
|
@@ -2903,8 +2900,7 @@ cmdNetworkList(vshControl *ctl, const vs
|
|
if ((maxinactive =
|
|
virConnectListDefinedNetworks(ctl->conn, inactiveNames,
|
|
maxinactive)) < 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("Failed to list inactive networks"));
|
|
+ vshError(ctl, "%s", _("Failed to list inactive networks"));
|
|
free(activeNames);
|
|
free(inactiveNames);
|
|
return FALSE;
|
|
@@ -3032,7 +3028,7 @@ cmdNetworkStart(vshControl *ctl, const v
|
|
vshPrint(ctl, _("Network %s started\n"),
|
|
virNetworkGetName(network));
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to start network %s"),
|
|
+ vshError(ctl, _("Failed to start network %s"),
|
|
virNetworkGetName(network));
|
|
ret = FALSE;
|
|
}
|
|
@@ -3071,7 +3067,7 @@ cmdNetworkUndefine(vshControl *ctl, cons
|
|
if (virNetworkUndefine(network) == 0) {
|
|
vshPrint(ctl, _("Network %s has been undefined\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to undefine network %s"), name);
|
|
+ vshError(ctl, _("Failed to undefine network %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -3110,7 +3106,7 @@ cmdNetworkUuid(vshControl *ctl, const vs
|
|
if (virNetworkGetUUIDString(network, uuid) != -1)
|
|
vshPrint(ctl, "%s\n", uuid);
|
|
else
|
|
- vshError(ctl, FALSE, "%s", _("failed to get network UUID"));
|
|
+ vshError(ctl, "%s", _("failed to get network UUID"));
|
|
|
|
virNetworkFree(network);
|
|
return TRUE;
|
|
@@ -3148,7 +3144,7 @@ cmdInterfaceList(vshControl *ctl, const
|
|
if (active) {
|
|
maxactive = virConnectNumOfInterfaces(ctl->conn);
|
|
if (maxactive < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list active interfaces"));
|
|
+ vshError(ctl, "%s", _("Failed to list active interfaces"));
|
|
return FALSE;
|
|
}
|
|
if (maxactive) {
|
|
@@ -3156,8 +3152,7 @@ cmdInterfaceList(vshControl *ctl, const
|
|
|
|
if ((maxactive = virConnectListInterfaces(ctl->conn, activeNames,
|
|
maxactive)) < 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("Failed to list active interfaces"));
|
|
+ vshError(ctl, "%s", _("Failed to list active interfaces"));
|
|
free(activeNames);
|
|
return FALSE;
|
|
}
|
|
@@ -3168,8 +3163,7 @@ cmdInterfaceList(vshControl *ctl, const
|
|
if (inactive) {
|
|
maxinactive = virConnectNumOfDefinedInterfaces(ctl->conn);
|
|
if (maxinactive < 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("Failed to list inactive interfaces"));
|
|
+ vshError(ctl, "%s", _("Failed to list inactive interfaces"));
|
|
free(activeNames);
|
|
return FALSE;
|
|
}
|
|
@@ -3179,8 +3173,7 @@ cmdInterfaceList(vshControl *ctl, const
|
|
if ((maxinactive =
|
|
virConnectListDefinedInterfaces(ctl->conn, inactiveNames,
|
|
maxinactive)) < 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("Failed to list inactive interfaces"));
|
|
+ vshError(ctl, "%s", _("Failed to list inactive interfaces"));
|
|
free(activeNames);
|
|
free(inactiveNames);
|
|
return FALSE;
|
|
@@ -3373,7 +3366,7 @@ cmdInterfaceDefine(vshControl *ctl, cons
|
|
virInterfaceGetName(iface), from);
|
|
virInterfaceFree (iface);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to define interface from %s"), from);
|
|
+ vshError(ctl, _("Failed to define interface from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
return ret;
|
|
@@ -3409,7 +3402,7 @@ cmdInterfaceUndefine(vshControl *ctl, co
|
|
if (virInterfaceUndefine(iface) == 0) {
|
|
vshPrint(ctl, _("Interface %s undefined\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to undefine interface %s"), name);
|
|
+ vshError(ctl, _("Failed to undefine interface %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -3447,7 +3440,7 @@ cmdInterfaceStart(vshControl *ctl, const
|
|
if (virInterfaceCreate(iface, 0) == 0) {
|
|
vshPrint(ctl, _("Interface %s started\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to start interface %s"), name);
|
|
+ vshError(ctl, _("Failed to start interface %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -3485,7 +3478,7 @@ cmdInterfaceDestroy(vshControl *ctl, con
|
|
if (virInterfaceDestroy(iface, 0) == 0) {
|
|
vshPrint(ctl, _("Interface %s destroyed\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to destroy interface %s"), name);
|
|
+ vshError(ctl, _("Failed to destroy interface %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -3527,11 +3520,9 @@ cmdPoolAutostart(vshControl *ctl, const
|
|
|
|
if (virStoragePoolSetAutostart(pool, autostart) < 0) {
|
|
if (autostart)
|
|
- vshError(ctl, FALSE, _("failed to mark pool %s as autostarted"),
|
|
- name);
|
|
+ vshError(ctl, _("failed to mark pool %s as autostarted"), name);
|
|
else
|
|
- vshError(ctl, FALSE,_("failed to unmark pool %s as autostarted"),
|
|
- name);
|
|
+ vshError(ctl, _("failed to unmark pool %s as autostarted"), name);
|
|
virStoragePoolFree(pool);
|
|
return FALSE;
|
|
}
|
|
@@ -3587,7 +3578,7 @@ cmdPoolCreate(vshControl *ctl, const vsh
|
|
virStoragePoolGetName(pool), from);
|
|
virStoragePoolFree(pool);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to create pool from %s"), from);
|
|
+ vshError(ctl, _("Failed to create pool from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
return ret;
|
|
@@ -3641,7 +3632,7 @@ cmdNodeDeviceCreate(vshControl *ctl, con
|
|
virNodeDeviceGetName(dev), from);
|
|
virNodeDeviceFree(dev);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to create node device from %s"), from);
|
|
+ vshError(ctl, _("Failed to create node device from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -3687,7 +3678,7 @@ cmdNodeDeviceDestroy(vshControl *ctl, co
|
|
if (virNodeDeviceDestroy(dev) == 0) {
|
|
vshPrint(ctl, _("Destroyed node device '%s'\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to destroy node device '%s'"), name);
|
|
+ vshError(ctl, _("Failed to destroy node device '%s'"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -3800,7 +3791,7 @@ cmdPoolCreateAs(vshControl *ctl, const v
|
|
vshPrint(ctl, _("Pool %s created\n"), name);
|
|
virStoragePoolFree(pool);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to create pool %s"), name);
|
|
+ vshError(ctl, _("Failed to create pool %s"), name);
|
|
return FALSE;
|
|
}
|
|
}
|
|
@@ -3849,7 +3840,7 @@ cmdPoolDefine(vshControl *ctl, const vsh
|
|
virStoragePoolGetName(pool), from);
|
|
virStoragePoolFree(pool);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to define pool from %s"), from);
|
|
+ vshError(ctl, _("Failed to define pool from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
return ret;
|
|
@@ -3889,7 +3880,7 @@ cmdPoolDefineAs(vshControl *ctl, const v
|
|
vshPrint(ctl, _("Pool %s defined\n"), name);
|
|
virStoragePoolFree(pool);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to define pool %s"), name);
|
|
+ vshError(ctl, _("Failed to define pool %s"), name);
|
|
return FALSE;
|
|
}
|
|
}
|
|
@@ -3927,7 +3918,7 @@ cmdPoolBuild(vshControl *ctl, const vshC
|
|
if (virStoragePoolBuild(pool, 0) == 0) {
|
|
vshPrint(ctl, _("Pool %s built\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to build pool %s"), name);
|
|
+ vshError(ctl, _("Failed to build pool %s"), name);
|
|
ret = FALSE;
|
|
virStoragePoolFree(pool);
|
|
}
|
|
@@ -3966,7 +3957,7 @@ cmdPoolDestroy(vshControl *ctl, const vs
|
|
if (virStoragePoolDestroy(pool) == 0) {
|
|
vshPrint(ctl, _("Pool %s destroyed\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to destroy pool %s"), name);
|
|
+ vshError(ctl, _("Failed to destroy pool %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -4005,7 +3996,7 @@ cmdPoolDelete(vshControl *ctl, const vsh
|
|
if (virStoragePoolDelete(pool, 0) == 0) {
|
|
vshPrint(ctl, _("Pool %s deleted\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to delete pool %s"), name);
|
|
+ vshError(ctl, _("Failed to delete pool %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -4044,7 +4035,7 @@ cmdPoolRefresh(vshControl *ctl, const vs
|
|
if (virStoragePoolRefresh(pool, 0) == 0) {
|
|
vshPrint(ctl, _("Pool %s refreshed\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to refresh pool %s"), name);
|
|
+ vshError(ctl, _("Failed to refresh pool %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
virStoragePoolFree(pool);
|
|
@@ -4124,7 +4115,7 @@ cmdPoolList(vshControl *ctl, const vshCm
|
|
if (active) {
|
|
maxactive = virConnectNumOfStoragePools(ctl->conn);
|
|
if (maxactive < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list active pools"));
|
|
+ vshError(ctl, "%s", _("Failed to list active pools"));
|
|
return FALSE;
|
|
}
|
|
if (maxactive) {
|
|
@@ -4132,7 +4123,7 @@ cmdPoolList(vshControl *ctl, const vshCm
|
|
|
|
if ((maxactive = virConnectListStoragePools(ctl->conn, activeNames,
|
|
maxactive)) < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list active pools"));
|
|
+ vshError(ctl, "%s", _("Failed to list active pools"));
|
|
free(activeNames);
|
|
return FALSE;
|
|
}
|
|
@@ -4143,7 +4134,7 @@ cmdPoolList(vshControl *ctl, const vshCm
|
|
if (inactive) {
|
|
maxinactive = virConnectNumOfDefinedStoragePools(ctl->conn);
|
|
if (maxinactive < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list inactive pools"));
|
|
+ vshError(ctl, "%s", _("Failed to list inactive pools"));
|
|
free(activeNames);
|
|
return FALSE;
|
|
}
|
|
@@ -4151,7 +4142,7 @@ cmdPoolList(vshControl *ctl, const vshCm
|
|
inactiveNames = vshMalloc(ctl, sizeof(char *) * maxinactive);
|
|
|
|
if ((maxinactive = virConnectListDefinedStoragePools(ctl->conn, inactiveNames, maxinactive)) < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list inactive pools"));
|
|
+ vshError(ctl, "%s", _("Failed to list inactive pools"));
|
|
free(activeNames);
|
|
free(inactiveNames);
|
|
return FALSE;
|
|
@@ -4273,10 +4264,10 @@ cmdPoolDiscoverSourcesAs(vshControl * ct
|
|
if (ret < 0) {
|
|
switch (errno) {
|
|
case ENOMEM:
|
|
- vshError(ctl, FALSE, "%s", _("Out of memory"));
|
|
+ vshError(ctl, "%s", _("Out of memory"));
|
|
break;
|
|
default:
|
|
- vshError(ctl, FALSE, _("virAsprintf failed (errno %d)"), errno);
|
|
+ vshError(ctl, _("virAsprintf failed (errno %d)"), errno);
|
|
}
|
|
return FALSE;
|
|
}
|
|
@@ -4285,7 +4276,7 @@ cmdPoolDiscoverSourcesAs(vshControl * ct
|
|
srcList = virConnectFindStoragePoolSources(ctl->conn, type, srcSpec, 0);
|
|
free(srcSpec);
|
|
if (srcList == NULL) {
|
|
- vshError(ctl, FALSE, _("Failed to find any %s pool sources"), type);
|
|
+ vshError(ctl, _("Failed to find any %s pool sources"), type);
|
|
return FALSE;
|
|
}
|
|
vshPrint(ctl, "%s", srcList);
|
|
@@ -4336,7 +4327,7 @@ cmdPoolDiscoverSources(vshControl * ctl,
|
|
srcList = virConnectFindStoragePoolSources(ctl->conn, type, srcSpec, 0);
|
|
free(srcSpec);
|
|
if (srcList == NULL) {
|
|
- vshError(ctl, FALSE, _("Failed to find any %s pool sources"), type);
|
|
+ vshError(ctl, _("Failed to find any %s pool sources"), type);
|
|
return FALSE;
|
|
}
|
|
vshPrint(ctl, "%s", srcList);
|
|
@@ -4503,8 +4494,7 @@ cmdPoolStart(vshControl *ctl, const vshC
|
|
vshPrint(ctl, _("Pool %s started\n"),
|
|
virStoragePoolGetName(pool));
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to start pool %s"),
|
|
- virStoragePoolGetName(pool));
|
|
+ vshError(ctl, _("Failed to start pool %s"), virStoragePoolGetName(pool));
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -4585,12 +4575,12 @@ cmdVolCreateAs(vshControl *ctl, const vs
|
|
if (!found)
|
|
goto cleanup;
|
|
if (cmdVolSize(capacityStr, &capacity) < 0)
|
|
- vshError(ctl, FALSE, _("Malformed size %s"), capacityStr);
|
|
+ vshError(ctl, _("Malformed size %s"), capacityStr);
|
|
|
|
allocationStr = vshCommandOptString(cmd, "allocation", &found);
|
|
if (allocationStr &&
|
|
cmdVolSize(allocationStr, &allocation) < 0)
|
|
- vshError(ctl, FALSE, _("Malformed size %s"), allocationStr);
|
|
+ vshError(ctl, _("Malformed size %s"), allocationStr);
|
|
|
|
format = vshCommandOptString(cmd, "format", &found);
|
|
|
|
@@ -4623,7 +4613,7 @@ cmdVolCreateAs(vshControl *ctl, const vs
|
|
virStorageVolFree(vol);
|
|
return TRUE;
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to create vol %s"), name);
|
|
+ vshError(ctl, _("Failed to create vol %s"), name);
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -4664,7 +4654,7 @@ cmdPoolUndefine(vshControl *ctl, const v
|
|
if (virStoragePoolUndefine(pool) == 0) {
|
|
vshPrint(ctl, _("Pool %s has been undefined\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to undefine pool %s"), name);
|
|
+ vshError(ctl, _("Failed to undefine pool %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -4703,7 +4693,7 @@ cmdPoolUuid(vshControl *ctl, const vshCm
|
|
if (virStoragePoolGetUUIDString(pool, uuid) != -1)
|
|
vshPrint(ctl, "%s\n", uuid);
|
|
else
|
|
- vshError(ctl, FALSE, "%s", _("failed to get pool UUID"));
|
|
+ vshError(ctl, "%s", _("failed to get pool UUID"));
|
|
|
|
virStoragePoolFree(pool);
|
|
return TRUE;
|
|
@@ -4762,7 +4752,7 @@ cmdVolCreate(vshControl *ctl, const vshC
|
|
virStorageVolGetName(vol), from);
|
|
virStorageVolFree(vol);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to create vol from %s"), from);
|
|
+ vshError(ctl, _("Failed to create vol from %s"), from);
|
|
ret = FALSE;
|
|
}
|
|
return ret;
|
|
@@ -4819,7 +4809,7 @@ cmdVolCreateFrom(vshControl *ctl, const
|
|
vshPrint(ctl, _("Vol %s created from input vol %s\n"),
|
|
virStorageVolGetName(newvol), virStorageVolGetName(inputvol));
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to create vol from %s"), from);
|
|
+ vshError(ctl, _("Failed to create vol from %s"), from);
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -4901,7 +4891,7 @@ cmdVolClone(vshControl *ctl, const vshCm
|
|
|
|
origpool = virStoragePoolLookupByVolume(origvol);
|
|
if (!origpool) {
|
|
- vshError(ctl, FALSE, "%s", _("failed to get parent pool"));
|
|
+ vshError(ctl, "%s", _("failed to get parent pool"));
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -4925,7 +4915,7 @@ cmdVolClone(vshControl *ctl, const vshCm
|
|
vshPrint(ctl, _("Vol %s cloned from %s\n"),
|
|
virStorageVolGetName(newvol), virStorageVolGetName(origvol));
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to clone vol from %s"),
|
|
+ vshError(ctl, _("Failed to clone vol from %s"),
|
|
virStorageVolGetName(origvol));
|
|
goto cleanup;
|
|
}
|
|
@@ -4976,7 +4966,7 @@ cmdVolDelete(vshControl *ctl, const vshC
|
|
if (virStorageVolDelete(vol, 0) == 0) {
|
|
vshPrint(ctl, _("Vol %s deleted\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to delete vol %s"), name);
|
|
+ vshError(ctl, _("Failed to delete vol %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
|
|
@@ -5107,7 +5097,7 @@ cmdVolList(vshControl *ctl, const vshCmd
|
|
maxactive = virStoragePoolNumOfVolumes(pool);
|
|
if (maxactive < 0) {
|
|
virStoragePoolFree(pool);
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list active vols"));
|
|
+ vshError(ctl, "%s", _("Failed to list active vols"));
|
|
return FALSE;
|
|
}
|
|
if (maxactive) {
|
|
@@ -5115,7 +5105,7 @@ cmdVolList(vshControl *ctl, const vshCmd
|
|
|
|
if ((maxactive = virStoragePoolListVolumes(pool, activeNames,
|
|
maxactive)) < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list active vols"));
|
|
+ vshError(ctl, "%s", _("Failed to list active vols"));
|
|
free(activeNames);
|
|
virStoragePoolFree(pool);
|
|
return FALSE;
|
|
@@ -5288,12 +5278,11 @@ cmdSecretDefine(vshControl *ctl, const v
|
|
free (buffer);
|
|
|
|
if (res == NULL) {
|
|
- vshError(ctl, FALSE, _("Failed to set attributes from %s"), from);
|
|
+ vshError(ctl, _("Failed to set attributes from %s"), from);
|
|
return FALSE;
|
|
}
|
|
if (virSecretGetUUIDString(res, &(uuid[0])) < 0) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("Failed to get UUID of created secret"));
|
|
+ vshError(ctl, "%s", _("Failed to get UUID of created secret"));
|
|
virSecretFree(res);
|
|
return FALSE;
|
|
}
|
|
@@ -5377,11 +5366,11 @@ cmdSecretSetValue(vshControl *ctl, const
|
|
goto cleanup;
|
|
|
|
if (!base64_decode_alloc(base64, strlen(base64), &value, &value_size)) {
|
|
- vshError(ctl, FALSE, _("Invalid base64 data"));
|
|
+ vshError(ctl, _("Invalid base64 data"));
|
|
goto cleanup;
|
|
}
|
|
if (value == NULL) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to allocate memory"));
|
|
+ vshError(ctl, "%s", _("Failed to allocate memory"));
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -5390,7 +5379,7 @@ cmdSecretSetValue(vshControl *ctl, const
|
|
free (value);
|
|
|
|
if (res != 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to set secret value"));
|
|
+ vshError(ctl, "%s", _("Failed to set secret value"));
|
|
goto cleanup;
|
|
}
|
|
vshPrint(ctl, "%s", _("Secret value set\n"));
|
|
@@ -5440,7 +5429,7 @@ cmdSecretGetValue(vshControl *ctl, const
|
|
free(value);
|
|
|
|
if (base64 == NULL) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to allocate memory"));
|
|
+ vshError(ctl, "%s", _("Failed to allocate memory"));
|
|
goto cleanup;
|
|
}
|
|
printf("%s", base64);
|
|
@@ -5482,7 +5471,7 @@ cmdSecretUndefine(vshControl *ctl, const
|
|
return FALSE;
|
|
|
|
if (virSecretUndefine(secret) < 0) {
|
|
- vshError(ctl, FALSE, _("Failed to delete secret %s"), uuid);
|
|
+ vshError(ctl, _("Failed to delete secret %s"), uuid);
|
|
goto cleanup;
|
|
}
|
|
vshPrint(ctl, _("Secret %s deleted\n"), uuid);
|
|
@@ -5513,14 +5502,14 @@ cmdSecretList(vshControl *ctl, const vsh
|
|
|
|
maxuuids = virConnectNumOfSecrets(ctl->conn);
|
|
if (maxuuids < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list secrets"));
|
|
+ vshError(ctl, "%s", _("Failed to list secrets"));
|
|
return FALSE;
|
|
}
|
|
uuids = vshMalloc(ctl, sizeof(*uuids) * maxuuids);
|
|
|
|
maxuuids = virConnectListSecrets(ctl->conn, uuids, maxuuids);
|
|
if (maxuuids < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list secrets"));
|
|
+ vshError(ctl, "%s", _("Failed to list secrets"));
|
|
free(uuids);
|
|
return FALSE;
|
|
}
|
|
@@ -5589,7 +5578,7 @@ cmdVersion(vshControl *ctl, const vshCmd
|
|
|
|
hvType = virConnectGetType(ctl->conn);
|
|
if (hvType == NULL) {
|
|
- vshError(ctl, FALSE, "%s", _("failed to get hypervisor type"));
|
|
+ vshError(ctl, "%s", _("failed to get hypervisor type"));
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -5603,7 +5592,7 @@ cmdVersion(vshControl *ctl, const vshCmd
|
|
|
|
ret = virGetVersion(&libVersion, hvType, &apiVersion);
|
|
if (ret < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("failed to get the library version"));
|
|
+ vshError(ctl, "%s", _("failed to get the library version"));
|
|
return FALSE;
|
|
}
|
|
major = libVersion / 1000000;
|
|
@@ -5622,7 +5611,7 @@ cmdVersion(vshControl *ctl, const vshCmd
|
|
|
|
ret = virConnectGetVersion(ctl->conn, &hvVersion);
|
|
if (ret < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("failed to get the hypervisor version"));
|
|
+ vshError(ctl, "%s", _("failed to get the hypervisor version"));
|
|
return FALSE;
|
|
}
|
|
if (hvVersion == 0) {
|
|
@@ -5752,7 +5741,7 @@ cmdNodeListDevices (vshControl *ctl, con
|
|
|
|
num_devices = virNodeNumOfDevices(ctl->conn, cap, 0);
|
|
if (num_devices < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to count node devices"));
|
|
+ vshError(ctl, "%s", _("Failed to count node devices"));
|
|
return FALSE;
|
|
} else if (num_devices == 0) {
|
|
return TRUE;
|
|
@@ -5762,7 +5751,7 @@ cmdNodeListDevices (vshControl *ctl, con
|
|
num_devices =
|
|
virNodeListDevices(ctl->conn, cap, devices, num_devices, 0);
|
|
if (num_devices < 0) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to list node devices"));
|
|
+ vshError(ctl, "%s", _("Failed to list node devices"));
|
|
free(devices);
|
|
return FALSE;
|
|
}
|
|
@@ -5835,7 +5824,7 @@ cmdNodeDeviceDumpXML (vshControl *ctl, c
|
|
if (!(name = vshCommandOptString(cmd, "device", NULL)))
|
|
return FALSE;
|
|
if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) {
|
|
- vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name);
|
|
+ vshError(ctl, "%s '%s'", _("Could not find matching device"), name);
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -5878,14 +5867,14 @@ cmdNodeDeviceDettach (vshControl *ctl, c
|
|
if (!(name = vshCommandOptString(cmd, "device", NULL)))
|
|
return FALSE;
|
|
if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) {
|
|
- vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name);
|
|
+ vshError(ctl, "%s '%s'", _("Could not find matching device"), name);
|
|
return FALSE;
|
|
}
|
|
|
|
if (virNodeDeviceDettach(device) == 0) {
|
|
vshPrint(ctl, _("Device %s dettached\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to dettach device %s"), name);
|
|
+ vshError(ctl, _("Failed to dettach device %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
virNodeDeviceFree(device);
|
|
@@ -5919,14 +5908,14 @@ cmdNodeDeviceReAttach (vshControl *ctl,
|
|
if (!(name = vshCommandOptString(cmd, "device", NULL)))
|
|
return FALSE;
|
|
if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) {
|
|
- vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name);
|
|
+ vshError(ctl, "%s '%s'", _("Could not find matching device"), name);
|
|
return FALSE;
|
|
}
|
|
|
|
if (virNodeDeviceReAttach(device) == 0) {
|
|
vshPrint(ctl, _("Device %s re-attached\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to re-attach device %s"), name);
|
|
+ vshError(ctl, _("Failed to re-attach device %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
virNodeDeviceFree(device);
|
|
@@ -5960,14 +5949,14 @@ cmdNodeDeviceReset (vshControl *ctl, con
|
|
if (!(name = vshCommandOptString(cmd, "device", NULL)))
|
|
return FALSE;
|
|
if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) {
|
|
- vshError(ctl, FALSE, "%s '%s'", _("Could not find matching device"), name);
|
|
+ vshError(ctl, "%s '%s'", _("Could not find matching device"), name);
|
|
return FALSE;
|
|
}
|
|
|
|
if (virNodeDeviceReset(device) == 0) {
|
|
vshPrint(ctl, _("Device %s reset\n"), name);
|
|
} else {
|
|
- vshError(ctl, FALSE, _("Failed to reset device %s"), name);
|
|
+ vshError(ctl, _("Failed to reset device %s"), name);
|
|
ret = FALSE;
|
|
}
|
|
virNodeDeviceFree(device);
|
|
@@ -5993,7 +5982,7 @@ cmdHostname (vshControl *ctl, const vshC
|
|
|
|
hostname = virConnectGetHostname (ctl->conn);
|
|
if (hostname == NULL) {
|
|
- vshError(ctl, FALSE, "%s", _("failed to get hostname"));
|
|
+ vshError(ctl, "%s", _("failed to get hostname"));
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -6022,7 +6011,7 @@ cmdURI (vshControl *ctl, const vshCmd *c
|
|
|
|
uri = virConnectGetURI (ctl->conn);
|
|
if (uri == NULL) {
|
|
- vshError(ctl, FALSE, "%s", _("failed to get URI"));
|
|
+ vshError(ctl, "%s", _("failed to get URI"));
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -6200,7 +6189,7 @@ cmdAttachDevice(vshControl *ctl, const v
|
|
|
|
from = vshCommandOptString(cmd, "file", &found);
|
|
if (!found) {
|
|
- vshError(ctl, FALSE, "%s", _("attach-device: Missing <file> option"));
|
|
+ vshError(ctl, "%s", _("attach-device: Missing <file> option"));
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -6214,7 +6203,7 @@ cmdAttachDevice(vshControl *ctl, const v
|
|
free (buffer);
|
|
|
|
if (ret < 0) {
|
|
- vshError(ctl, FALSE, _("Failed to attach device from %s"), from);
|
|
+ vshError(ctl, _("Failed to attach device from %s"), from);
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
} else {
|
|
@@ -6258,7 +6247,7 @@ cmdDetachDevice(vshControl *ctl, const v
|
|
|
|
from = vshCommandOptString(cmd, "file", &found);
|
|
if (!found) {
|
|
- vshError(ctl, FALSE, "%s", _("detach-device: Missing <file> option"));
|
|
+ vshError(ctl, "%s", _("detach-device: Missing <file> option"));
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
}
|
|
@@ -6272,7 +6261,7 @@ cmdDetachDevice(vshControl *ctl, const v
|
|
free (buffer);
|
|
|
|
if (ret < 0) {
|
|
- vshError(ctl, FALSE, _("Failed to detach device from %s"), from);
|
|
+ vshError(ctl, _("Failed to detach device from %s"), from);
|
|
virDomainFree(dom);
|
|
return FALSE;
|
|
} else {
|
|
@@ -6331,7 +6320,7 @@ cmdAttachInterface(vshControl *ctl, cons
|
|
} else if (STREQ(type, "bridge")) {
|
|
typ = 2;
|
|
} else {
|
|
- vshError(ctl, FALSE, _("No support %s in command 'attach-interface'"), type);
|
|
+ vshError(ctl, _("No support %s in command 'attach-interface'"), type);
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -6450,12 +6439,12 @@ cmdDetachInterface(vshControl *ctl, cons
|
|
XML_PARSE_NOWARNING);
|
|
free(doc);
|
|
if (!xml) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to get interface information"));
|
|
+ vshError(ctl, "%s", _("Failed to get interface information"));
|
|
goto cleanup;
|
|
}
|
|
ctxt = xmlXPathNewContext(xml);
|
|
if (!ctxt) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to get interface information"));
|
|
+ vshError(ctl, "%s", _("Failed to get interface information"));
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -6463,7 +6452,7 @@ cmdDetachInterface(vshControl *ctl, cons
|
|
obj = xmlXPathEval(BAD_CAST buf, ctxt);
|
|
if ((obj == NULL) || (obj->type != XPATH_NODESET) ||
|
|
(obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0)) {
|
|
- vshError(ctl, FALSE, _("No found interface whose type is %s"), type);
|
|
+ vshError(ctl, _("No found interface whose type is %s"), type);
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -6485,18 +6474,18 @@ cmdDetachInterface(vshControl *ctl, cons
|
|
cur = cur->next;
|
|
}
|
|
}
|
|
- vshError(ctl, FALSE, _("No found interface whose MAC address is %s"), mac);
|
|
+ vshError(ctl, _("No found interface whose MAC address is %s"), mac);
|
|
goto cleanup;
|
|
|
|
hit:
|
|
xml_buf = xmlBufferCreate();
|
|
if (!xml_buf) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to allocate memory"));
|
|
+ vshError(ctl, "%s", _("Failed to allocate memory"));
|
|
goto cleanup;
|
|
}
|
|
|
|
if(xmlNodeDump(xml_buf, xml, obj->nodesetval->nodeTab[i], 0, 0) < 0){
|
|
- vshError(ctl, FALSE, "%s", _("Failed to create XML"));
|
|
+ vshError(ctl, "%s", _("Failed to create XML"));
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -6569,14 +6558,14 @@ cmdAttachDisk(vshControl *ctl, const vsh
|
|
if (STREQ(driver, "file") || STREQ(driver, "tap")) {
|
|
isFile = 1;
|
|
} else if (STRNEQ(driver, "phy")) {
|
|
- vshError(ctl, FALSE, _("No support %s in command 'attach-disk'"), driver);
|
|
+ vshError(ctl, _("No support %s in command 'attach-disk'"), driver);
|
|
goto cleanup;
|
|
}
|
|
}
|
|
|
|
if (mode) {
|
|
if (STRNEQ(mode, "readonly") && STRNEQ(mode, "shareable")) {
|
|
- vshError(ctl, FALSE, _("No support %s in command 'attach-disk'"), mode);
|
|
+ vshError(ctl, _("No support %s in command 'attach-disk'"), mode);
|
|
goto cleanup;
|
|
}
|
|
}
|
|
@@ -6723,19 +6712,19 @@ cmdDetachDisk(vshControl *ctl, const vsh
|
|
XML_PARSE_NOWARNING);
|
|
free(doc);
|
|
if (!xml) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to get disk information"));
|
|
+ vshError(ctl, "%s", _("Failed to get disk information"));
|
|
goto cleanup;
|
|
}
|
|
ctxt = xmlXPathNewContext(xml);
|
|
if (!ctxt) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to get disk information"));
|
|
+ vshError(ctl, "%s", _("Failed to get disk information"));
|
|
goto cleanup;
|
|
}
|
|
|
|
obj = xmlXPathEval(BAD_CAST "/domain/devices/disk", ctxt);
|
|
if ((obj == NULL) || (obj->type != XPATH_NODESET) ||
|
|
(obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0)) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to get disk information"));
|
|
+ vshError(ctl, "%s", _("Failed to get disk information"));
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -6754,18 +6743,18 @@ cmdDetachDisk(vshControl *ctl, const vsh
|
|
cur = cur->next;
|
|
}
|
|
}
|
|
- vshError(ctl, FALSE, _("No found disk whose target is %s"), target);
|
|
+ vshError(ctl, _("No found disk whose target is %s"), target);
|
|
goto cleanup;
|
|
|
|
hit:
|
|
xml_buf = xmlBufferCreate();
|
|
if (!xml_buf) {
|
|
- vshError(ctl, FALSE, "%s", _("Failed to allocate memory"));
|
|
+ vshError(ctl, "%s", _("Failed to allocate memory"));
|
|
goto cleanup;
|
|
}
|
|
|
|
if(xmlNodeDump(xml_buf, xml, obj->nodesetval->nodeTab[i], 0, 0) < 0){
|
|
- vshError(ctl, FALSE, "%s", _("Failed to create XML"));
|
|
+ vshError(ctl, "%s", _("Failed to create XML"));
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -6799,9 +6788,8 @@ editWriteToTempFile (vshControl *ctl, co
|
|
|
|
ret = malloc (PATH_MAX);
|
|
if (!ret) {
|
|
- vshError(ctl, FALSE,
|
|
- _("malloc: failed to allocate temporary file name: %s"),
|
|
- strerror (errno));
|
|
+ vshError(ctl, _("malloc: failed to allocate temporary file name: %s"),
|
|
+ strerror(errno));
|
|
return NULL;
|
|
}
|
|
|
|
@@ -6810,25 +6798,22 @@ editWriteToTempFile (vshControl *ctl, co
|
|
snprintf (ret, PATH_MAX, "%s/virshXXXXXX", tmpdir);
|
|
fd = mkstemp (ret);
|
|
if (fd == -1) {
|
|
- vshError(ctl, FALSE,
|
|
- _("mkstemp: failed to create temporary file: %s"),
|
|
- strerror (errno));
|
|
+ vshError(ctl, _("mkstemp: failed to create temporary file: %s"),
|
|
+ strerror(errno));
|
|
return NULL;
|
|
}
|
|
|
|
if (safewrite (fd, doc, strlen (doc)) == -1) {
|
|
- vshError(ctl, FALSE,
|
|
- _("write: %s: failed to write to temporary file: %s"),
|
|
- ret, strerror (errno));
|
|
+ vshError(ctl, _("write: %s: failed to write to temporary file: %s"),
|
|
+ ret, strerror(errno));
|
|
close (fd);
|
|
unlink (ret);
|
|
free (ret);
|
|
return NULL;
|
|
}
|
|
if (close (fd) == -1) {
|
|
- vshError(ctl, FALSE,
|
|
- _("close: %s: failed to write or close temporary file: %s"),
|
|
- ret, strerror (errno));
|
|
+ vshError(ctl, _("close: %s: failed to write or close temporary file: %s"),
|
|
+ ret, strerror(errno));
|
|
unlink (ret);
|
|
free (ret);
|
|
return NULL;
|
|
@@ -6856,35 +6841,37 @@ editFile (vshControl *ctl, const char *f
|
|
* it does, refuse to run.
|
|
*/
|
|
if (strspn (editor, ACCEPTED_CHARS) != strlen (editor)) {
|
|
- vshError(ctl, FALSE,
|
|
- _("%s: $EDITOR environment variable contains shell meta or other unacceptable characters"),
|
|
+ vshError(ctl,
|
|
+ _("%s: $EDITOR environment variable contains shell meta or "
|
|
+ "other unacceptable characters"),
|
|
editor);
|
|
return -1;
|
|
}
|
|
/* Same for the filename. */
|
|
if (strspn (filename, ACCEPTED_CHARS) != strlen (filename)) {
|
|
- vshError(ctl, FALSE,
|
|
- _("%s: temporary filename contains shell meta or other unacceptable characters (is $TMPDIR wrong?)"),
|
|
+ vshError(ctl,
|
|
+ _("%s: temporary filename contains shell meta or other "
|
|
+ "unacceptable characters (is $TMPDIR wrong?)"),
|
|
filename);
|
|
return -1;
|
|
}
|
|
|
|
if (virAsprintf(&command, "%s %s", editor, filename) == -1) {
|
|
- vshError(ctl, FALSE,
|
|
+ vshError(ctl,
|
|
_("virAsprintf: could not create editing command: %s"),
|
|
- strerror (errno));
|
|
+ strerror(errno));
|
|
return -1;
|
|
}
|
|
|
|
command_ret = system (command);
|
|
if (command_ret == -1) {
|
|
- vshError(ctl, FALSE,
|
|
- _("%s: edit command failed: %s"), command, strerror (errno));
|
|
+ vshError(ctl,
|
|
+ _("%s: edit command failed: %s"), command, strerror(errno));
|
|
free (command);
|
|
return -1;
|
|
}
|
|
if (command_ret != WEXITSTATUS (0)) {
|
|
- vshError(ctl, FALSE,
|
|
+ vshError(ctl,
|
|
_("%s: command exited with non-zero status"), command);
|
|
free (command);
|
|
return -1;
|
|
@@ -6899,9 +6886,9 @@ editReadBackFile (vshControl *ctl, const
|
|
char *ret;
|
|
|
|
if (virFileReadAll (filename, VIRSH_MAX_XML_FILE, &ret) == -1) {
|
|
- vshError(ctl, FALSE,
|
|
+ vshError(ctl,
|
|
_("%s: failed to read temporary file: %s"),
|
|
- filename, strerror (errno));
|
|
+ filename, strerror(errno));
|
|
return NULL;
|
|
}
|
|
return ret;
|
|
@@ -6930,8 +6917,7 @@ cmdCd(vshControl *ctl, const vshCmd *cmd
|
|
int found;
|
|
|
|
if (!ctl->imode) {
|
|
- vshError(ctl, FALSE, "%s",
|
|
- _("cd: command valid only in interactive mode"));
|
|
+ vshError(ctl, "%s", _("cd: command valid only in interactive mode"));
|
|
return -1;
|
|
}
|
|
|
|
@@ -6944,7 +6930,7 @@ cmdCd(vshControl *ctl, const vshCmd *cmd
|
|
dir = "/";
|
|
|
|
if (chdir (dir) == -1) {
|
|
- vshError(ctl, FALSE, _("cd: %s: %s"), strerror (errno), dir);
|
|
+ vshError(ctl, _("cd: %s: %s"), strerror(errno), dir);
|
|
return -1;
|
|
}
|
|
|
|
@@ -6982,7 +6968,8 @@ cmdPwd(vshControl *ctl, const vshCmd *cm
|
|
}
|
|
|
|
if (err)
|
|
- vshError(ctl, FALSE, _("pwd: cannot get current directory: %s"), strerror (errno));
|
|
+ vshError(ctl, _("pwd: cannot get current directory: %s"),
|
|
+ strerror(errno));
|
|
else
|
|
vshPrint (ctl, _("%s\n"), cwd);
|
|
|
|
@@ -7062,8 +7049,8 @@ cmdEdit (vshControl *ctl, const vshCmd *
|
|
goto cleanup;
|
|
|
|
if (STRNEQ (doc, doc_reread)) {
|
|
- vshError (ctl, FALSE,
|
|
- "%s", _("ERROR: the XML configuration was changed by another user"));
|
|
+ vshError(ctl,
|
|
+ "%s", _("ERROR: the XML configuration was changed by another user"));
|
|
goto cleanup;
|
|
}
|
|
|
|
@@ -7348,7 +7335,7 @@ vshCommandCheckOpts(vshControl *ctl, con
|
|
o = o->next;
|
|
}
|
|
if (!ok) {
|
|
- vshError(ctl, FALSE,
|
|
+ vshError(ctl,
|
|
d->type == VSH_OT_DATA ?
|
|
_("command '%s' requires <%s> option") :
|
|
_("command '%s' requires --%s option"),
|
|
@@ -7378,7 +7365,7 @@ vshCmddefHelp(vshControl *ctl, const cha
|
|
const vshCmdDef *def = vshCmddefSearch(cmdname);
|
|
|
|
if (!def) {
|
|
- vshError(ctl, FALSE, _("command '%s' doesn't exist"), cmdname);
|
|
+ vshError(ctl, _("command '%s' doesn't exist"), cmdname);
|
|
return FALSE;
|
|
} else {
|
|
const char *desc = N_(vshCmddefGetInfo(def, "desc"));
|
|
@@ -7577,8 +7564,7 @@ cmd_has_option (vshControl *ctl, const v
|
|
}
|
|
|
|
if (!found)
|
|
- vshError(ctl, FALSE,
|
|
- _("internal error: virsh %s: no %s VSH_OT_DATA option"),
|
|
+ vshError(ctl, _("internal error: virsh %s: no %s VSH_OT_DATA option"),
|
|
cmd->def->name, optname);
|
|
return found;
|
|
}
|
|
@@ -7595,7 +7581,7 @@ vshCommandOptDomainBy(vshControl *ctl, c
|
|
return NULL;
|
|
|
|
if (!(n = vshCommandOptString(cmd, optname, NULL))) {
|
|
- vshError(ctl, FALSE, "%s", _("undefined domain name or id"));
|
|
+ vshError(ctl, "%s", _("undefined domain name or id"));
|
|
return NULL;
|
|
}
|
|
|
|
@@ -7627,7 +7613,7 @@ vshCommandOptDomainBy(vshControl *ctl, c
|
|
}
|
|
|
|
if (!dom)
|
|
- vshError(ctl, FALSE, _("failed to get domain '%s'"), n);
|
|
+ vshError(ctl, _("failed to get domain '%s'"), n);
|
|
|
|
return dom;
|
|
}
|
|
@@ -7643,7 +7629,7 @@ vshCommandOptNetworkBy(vshControl *ctl,
|
|
return NULL;
|
|
|
|
if (!(n = vshCommandOptString(cmd, optname, NULL))) {
|
|
- vshError(ctl, FALSE, "%s", _("undefined network name"));
|
|
+ vshError(ctl, "%s", _("undefined network name"));
|
|
return NULL;
|
|
}
|
|
|
|
@@ -7667,7 +7653,7 @@ vshCommandOptNetworkBy(vshControl *ctl,
|
|
}
|
|
|
|
if (!network)
|
|
- vshError(ctl, FALSE, _("failed to get network '%s'"), n);
|
|
+ vshError(ctl, _("failed to get network '%s'"), n);
|
|
|
|
return network;
|
|
}
|
|
@@ -7683,7 +7669,7 @@ vshCommandOptInterfaceBy(vshControl *ctl
|
|
return NULL;
|
|
|
|
if (!(n = vshCommandOptString(cmd, optname, NULL))) {
|
|
- vshError(ctl, FALSE, "%s", _("undefined interface identifier"));
|
|
+ vshError(ctl, "%s", _("undefined interface identifier"));
|
|
return NULL;
|
|
}
|
|
|
|
@@ -7707,7 +7693,7 @@ vshCommandOptInterfaceBy(vshControl *ctl
|
|
}
|
|
|
|
if (!iface)
|
|
- vshError(ctl, FALSE, _("failed to get interface '%s'"), n);
|
|
+ vshError(ctl, _("failed to get interface '%s'"), n);
|
|
|
|
return iface;
|
|
}
|
|
@@ -7720,7 +7706,7 @@ vshCommandOptPoolBy(vshControl *ctl, con
|
|
char *n;
|
|
|
|
if (!(n = vshCommandOptString(cmd, optname, NULL))) {
|
|
- vshError(ctl, FALSE, "%s", _("undefined pool name"));
|
|
+ vshError(ctl, "%s", _("undefined pool name"));
|
|
return NULL;
|
|
}
|
|
|
|
@@ -7744,7 +7730,7 @@ vshCommandOptPoolBy(vshControl *ctl, con
|
|
}
|
|
|
|
if (!pool)
|
|
- vshError(ctl, FALSE, _("failed to get pool '%s'"), n);
|
|
+ vshError(ctl, _("failed to get pool '%s'"), n);
|
|
|
|
return pool;
|
|
}
|
|
@@ -7761,12 +7747,12 @@ vshCommandOptVolBy(vshControl *ctl, cons
|
|
int found;
|
|
|
|
if (!(n = vshCommandOptString(cmd, optname, NULL))) {
|
|
- vshError(ctl, FALSE, "%s", _("undefined vol name"));
|
|
+ vshError(ctl, "%s", _("undefined vol name"));
|
|
return NULL;
|
|
}
|
|
|
|
if (!(p = vshCommandOptString(cmd, pooloptname, &found)) && found) {
|
|
- vshError(ctl, FALSE, "%s", _("undefined pool name"));
|
|
+ vshError(ctl, "%s", _("undefined pool name"));
|
|
return NULL;
|
|
}
|
|
|
|
@@ -7797,7 +7783,7 @@ vshCommandOptVolBy(vshControl *ctl, cons
|
|
}
|
|
|
|
if (!vol)
|
|
- vshError(ctl, FALSE, _("failed to get vol '%s'"), n);
|
|
+ vshError(ctl, _("failed to get vol '%s'"), n);
|
|
|
|
if (pool)
|
|
virStoragePoolFree(pool);
|
|
@@ -7817,7 +7803,7 @@ vshCommandOptSecret(vshControl *ctl, con
|
|
|
|
n = vshCommandOptString(cmd, optname, NULL);
|
|
if (n == NULL) {
|
|
- vshError(ctl, FALSE, "%s", _("undefined secret UUID"));
|
|
+ vshError(ctl, "%s", _("undefined secret UUID"));
|
|
return NULL;
|
|
}
|
|
|
|
@@ -7829,7 +7815,7 @@ vshCommandOptSecret(vshControl *ctl, con
|
|
secret = virSecretLookupByUUIDString(ctl->conn, n);
|
|
|
|
if (secret == NULL)
|
|
- vshError(ctl, FALSE, _("failed to get secret '%s'"), n);
|
|
+ vshError(ctl, _("failed to get secret '%s'"), n);
|
|
|
|
return secret;
|
|
}
|
|
@@ -7934,7 +7920,7 @@ vshCommandGetToken(vshControl *ctl, char
|
|
sz++;
|
|
}
|
|
if (quote) {
|
|
- vshError(ctl, FALSE, "%s", _("missing \""));
|
|
+ vshError(ctl, "%s", _("missing \""));
|
|
return VSH_TK_ERROR;
|
|
}
|
|
if (tkstr == NULL || *tkstr == '\0' || p == NULL)
|
|
@@ -7994,19 +7980,19 @@ vshCommandParse(vshControl *ctl, char *c
|
|
if (cmd == NULL) {
|
|
/* first token must be command name */
|
|
if (tk != VSH_TK_DATA) {
|
|
- vshError(ctl, FALSE,
|
|
+ vshError(ctl,
|
|
_("unexpected token (command name): '%s'"),
|
|
tkdata);
|
|
goto syntaxError;
|
|
}
|
|
if (!(cmd = vshCmddefSearch(tkdata))) {
|
|
- vshError(ctl, FALSE, _("unknown command: '%s'"), tkdata);
|
|
+ vshError(ctl, _("unknown command: '%s'"), tkdata);
|
|
goto syntaxError; /* ... or ignore this command only? */
|
|
}
|
|
free(tkdata);
|
|
} else if (tk == VSH_TK_OPTION) {
|
|
if (!(opt = vshCmddefGetOption(cmd, tkdata))) {
|
|
- vshError(ctl, FALSE,
|
|
+ vshError(ctl,
|
|
_("command '%s' doesn't support option --%s"),
|
|
cmd->name, tkdata);
|
|
goto syntaxError;
|
|
@@ -8021,7 +8007,7 @@ vshCommandParse(vshControl *ctl, char *c
|
|
if (tk == VSH_TK_ERROR)
|
|
goto syntaxError;
|
|
if (tk != VSH_TK_DATA) {
|
|
- vshError(ctl, FALSE,
|
|
+ vshError(ctl,
|
|
_("expected syntax: --%s <%s>"),
|
|
opt->name,
|
|
opt->type ==
|
|
@@ -8031,7 +8017,7 @@ vshCommandParse(vshControl *ctl, char *c
|
|
}
|
|
} else if (tk == VSH_TK_DATA) {
|
|
if (!(opt = vshCmddefGetData(cmd, data_ct++))) {
|
|
- vshError(ctl, FALSE, _("unexpected data '%s'"), tkdata);
|
|
+ vshError(ctl, _("unexpected data '%s'"), tkdata);
|
|
goto syntaxError;
|
|
}
|
|
}
|
|
@@ -8143,7 +8129,7 @@ vshConnectionUsability(vshControl *ctl,
|
|
*/
|
|
if (!conn) {
|
|
if (showerror)
|
|
- vshError(ctl, FALSE, "%s", _("no valid connection"));
|
|
+ vshError(ctl, "%s", _("no valid connection"));
|
|
return FALSE;
|
|
}
|
|
return TRUE;
|
|
@@ -8181,7 +8167,7 @@ vshPrintExtra(vshControl *ctl, const cha
|
|
|
|
|
|
static void
|
|
-vshError(vshControl *ctl, int doexit, const char *format, ...)
|
|
+vshError(vshControl *ctl, const char *format, ...)
|
|
{
|
|
va_list ap;
|
|
|
|
@@ -8189,22 +8175,13 @@ vshError(vshControl *ctl, int doexit, co
|
|
vshOutputLogFile(ctl, VSH_ERR_ERROR, format, ap);
|
|
va_end(ap);
|
|
|
|
- if (doexit)
|
|
- fprintf(stderr, _("%s: error: "), progname);
|
|
- else
|
|
- fputs(_("error: "), stderr);
|
|
+ fputs(_("error: "), stderr);
|
|
|
|
va_start(ap, format);
|
|
vfprintf(stderr, format, ap);
|
|
va_end(ap);
|
|
|
|
fputc('\n', stderr);
|
|
-
|
|
- if (doexit) {
|
|
- if (ctl)
|
|
- vshDeinit(ctl);
|
|
- exit(EXIT_FAILURE);
|
|
- }
|
|
}
|
|
|
|
static void *
|
|
@@ -8214,9 +8191,9 @@ _vshMalloc(vshControl *ctl, size_t size,
|
|
|
|
if ((x = malloc(size)))
|
|
return x;
|
|
- vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"),
|
|
+ vshError(ctl, _("%s: %d: failed to allocate %d bytes"),
|
|
filename, line, (int) size);
|
|
- return NULL;
|
|
+ exit(EXIT_FAILURE);
|
|
}
|
|
|
|
static void *
|
|
@@ -8226,9 +8203,9 @@ _vshCalloc(vshControl *ctl, size_t nmemb
|
|
|
|
if ((x = calloc(nmemb, size)))
|
|
return x;
|
|
- vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"),
|
|
+ vshError(ctl, _("%s: %d: failed to allocate %d bytes"),
|
|
filename, line, (int) (size*nmemb));
|
|
- return NULL;
|
|
+ exit(EXIT_FAILURE);
|
|
}
|
|
|
|
static void *
|
|
@@ -8239,9 +8216,9 @@ _vshRealloc(vshControl *ctl, void *ptr,
|
|
if ((x = realloc(ptr, size)))
|
|
return x;
|
|
free(ptr);
|
|
- vshError(ctl, TRUE, _("%s: %d: failed to allocate %d bytes"),
|
|
+ vshError(ctl, _("%s: %d: failed to allocate %d bytes"),
|
|
filename, line, (int) size);
|
|
- return NULL;
|
|
+ exit(EXIT_FAILURE);
|
|
}
|
|
|
|
static char *
|
|
@@ -8253,9 +8230,9 @@ _vshStrdup(vshControl *ctl, const char *
|
|
return(NULL);
|
|
if ((x = strdup(s)))
|
|
return x;
|
|
- vshError(ctl, TRUE, _("%s: %d: failed to allocate %lu bytes"),
|
|
+ vshError(ctl, _("%s: %d: failed to allocate %lu bytes"),
|
|
filename, line, (unsigned long)strlen(s));
|
|
- return NULL;
|
|
+ exit(EXIT_FAILURE);
|
|
}
|
|
|
|
/*
|
|
@@ -8283,7 +8260,7 @@ vshInit(vshControl *ctl)
|
|
*/
|
|
if (!ctl->conn) {
|
|
virshReportError(ctl);
|
|
- vshError(ctl, FALSE, "%s", _("failed to connect to the hypervisor"));
|
|
+ vshError(ctl, "%s", _("failed to connect to the hypervisor"));
|
|
return FALSE;
|
|
}
|
|
|
|
@@ -8314,20 +8291,22 @@ vshOpenLogFile(vshControl *ctl)
|
|
case ENOENT:
|
|
break;
|
|
default:
|
|
- vshError(ctl, TRUE, "%s",
|
|
+ vshError(ctl, "%s",
|
|
_("failed to get the log file information"));
|
|
- break;
|
|
+ exit(EXIT_FAILURE);
|
|
}
|
|
} else {
|
|
if (!S_ISREG(st.st_mode)) {
|
|
- vshError(ctl, TRUE, "%s", _("the log path is not a file"));
|
|
+ vshError(ctl, "%s", _("the log path is not a file"));
|
|
+ exit(EXIT_FAILURE);
|
|
}
|
|
}
|
|
|
|
/* log file open */
|
|
if ((ctl->log_fd = open(ctl->logfile, LOGFILE_FLAGS, FILE_MODE)) < 0) {
|
|
- vshError(ctl, TRUE, "%s",
|
|
+ vshError(ctl, "%s",
|
|
_("failed to open the log file. check the log file path"));
|
|
+ exit(EXIT_FAILURE);
|
|
}
|
|
}
|
|
|
|
@@ -8395,7 +8374,7 @@ vshOutputLogFile(vshControl *ctl, int lo
|
|
/* write log */
|
|
if (safewrite(ctl->log_fd, msg_buf, strlen(msg_buf)) < 0) {
|
|
vshCloseLogFile(ctl);
|
|
- vshError(ctl, FALSE, "%s", _("failed to write the log file"));
|
|
+ vshError(ctl, "%s", _("failed to write the log file"));
|
|
}
|
|
}
|
|
|
|
@@ -8410,7 +8389,7 @@ vshCloseLogFile(vshControl *ctl)
|
|
/* log file close */
|
|
if (ctl->log_fd >= 0) {
|
|
if (close(ctl->log_fd) < 0)
|
|
- vshError(ctl, FALSE, _("%s: failed to write log file: %s"),
|
|
+ vshError(ctl, _("%s: failed to write log file: %s"),
|
|
ctl->logfile ? ctl->logfile : "?", strerror (errno));
|
|
ctl->log_fd = -1;
|
|
}
|
|
@@ -8588,9 +8567,7 @@ vshDeinit(vshControl *ctl)
|
|
free(ctl->name);
|
|
if (ctl->conn) {
|
|
if (virConnectClose(ctl->conn) != 0) {
|
|
- ctl->conn = NULL; /* prevent recursive call from vshError() */
|
|
- vshError(ctl, TRUE, "%s",
|
|
- _("failed to disconnect from the hypervisor"));
|
|
+ vshError(ctl, "%s", _("failed to disconnect from the hypervisor"));
|
|
}
|
|
}
|
|
virResetLastError();
|
|
@@ -8715,16 +8692,16 @@ vshParseArgv(vshControl *ctl, int argc,
|
|
ctl->logfile = vshStrdup(ctl, optarg);
|
|
break;
|
|
default:
|
|
- vshError(ctl, TRUE,
|
|
- _("unsupported option '-%c'. See --help."), arg);
|
|
- break;
|
|
+ vshError(ctl, _("unsupported option '-%c'. See --help."), arg);
|
|
+ exit(EXIT_FAILURE);
|
|
}
|
|
}
|
|
|
|
if (help) {
|
|
- if (end < argc)
|
|
- vshError(ctl, TRUE,
|
|
- _("extra argument '%s'. See --help."), argv[end]);
|
|
+ if (end < argc) {
|
|
+ vshError(ctl, _("extra argument '%s'. See --help."), argv[end]);
|
|
+ exit(EXIT_FAILURE);
|
|
+ }
|
|
|
|
/* list all command */
|
|
vshUsage();
|