This will allow us to use vshError() to report errors from inside vshCommandOpt*(), instead of replicating the same logic and error messages all over the place. We also have more context inside the vshCommandOpt*() functions, for example the actual value used on the command line, which means we can produce more detailed error messages. --- tools/virsh-domain-monitor.c | 90 +++---- tools/virsh-domain.c | 598 +++++++++++++++++++++---------------------- tools/virsh-host.c | 46 ++-- tools/virsh-interface.c | 14 +- tools/virsh-network.c | 34 +-- tools/virsh-nodedev.c | 6 +- tools/virsh-pool.c | 26 +- tools/virsh-secret.c | 8 +- tools/virsh-snapshot.c | 88 +++---- tools/virsh-volume.c | 34 +-- tools/virsh.c | 113 ++++---- tools/virsh.h | 77 +++--- 12 files changed, 571 insertions(+), 563 deletions(-) diff --git a/tools/virsh-domain-monitor.c b/tools/virsh-domain-monitor.c index a42c150..db7ef8b 100644 --- a/tools/virsh-domain-monitor.c +++ b/tools/virsh-domain-monitor.c @@ -317,9 +317,9 @@ cmdDomMemStat(vshControl *ctl, const vshCmd *cmd) bool ret = false; int rv = 0; int period = -1; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; VSH_EXCLUSIVE_OPTIONS_VAR(current, live); @@ -340,7 +340,7 @@ cmdDomMemStat(vshControl *ctl, const vshCmd *cmd) /* Providing a period will adjust the balloon driver collection period. * This is not really an unsigned long, but it */ - if ((rv = vshCommandOptInt(cmd, "period", &period)) < 0) { + if ((rv = vshCommandOptInt(ctl, cmd, "period", &period)) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "period"); @@ -491,10 +491,10 @@ cmdDomblklist(vshControl *ctl, const vshCmd *cmd) size_t i; bool details = false; - if (vshCommandOptBool(cmd, "inactive")) + if (vshCommandOptBool(ctl, cmd, "inactive")) flags |= VIR_DOMAIN_XML_INACTIVE; - details = vshCommandOptBool(cmd, "details"); + details = vshCommandOptBool(ctl, cmd, "details"); if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; @@ -609,7 +609,7 @@ cmdDomiflist(vshControl *ctl, const vshCmd *cmd) xmlNodePtr *interfaces = NULL; size_t i; - if (vshCommandOptBool(cmd, "inactive")) + if (vshCommandOptBool(ctl, cmd, "inactive")) flags |= VIR_DOMAIN_XML_INACTIVE; if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) @@ -733,7 +733,7 @@ cmdDomIfGetLink(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptBool(cmd, "config")) + if (vshCommandOptBool(ctl, cmd, "config")) flags = VIR_DOMAIN_XML_INACTIVE; if (!(desc = virDomainGetXMLDesc(dom, flags))) { @@ -929,7 +929,7 @@ cmdDomblkstat(vshControl *ctl, const vshCmd *cmd) int rc, nparams = 0; size_t i; bool ret = false; - bool human = vshCommandOptBool(cmd, "human"); /* human readable output */ + bool human = vshCommandOptBool(ctl, cmd, "human"); /* human readable output */ if (!(dom = vshCommandOptDomain(ctl, cmd, &name))) return false; @@ -1352,7 +1352,7 @@ cmdDomstate(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; bool ret = true; - bool showReason = vshCommandOptBool(cmd, "reason"); + bool showReason = vshCommandOptBool(ctl, cmd, "reason"); int state, reason; if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) @@ -1420,9 +1420,9 @@ cmdDomTime(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; bool ret = false; - bool now = vshCommandOptBool(cmd, "now"); - bool pretty = vshCommandOptBool(cmd, "pretty"); - bool rtcSync = vshCommandOptBool(cmd, "sync"); + bool now = vshCommandOptBool(ctl, cmd, "now"); + bool pretty = vshCommandOptBool(ctl, cmd, "pretty"); + bool rtcSync = vshCommandOptBool(ctl, cmd, "sync"); long long seconds = 0; unsigned int nseconds = 0; unsigned int flags = 0; @@ -1436,7 +1436,7 @@ cmdDomTime(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - rv = vshCommandOptLongLong(cmd, "time", &seconds); + rv = vshCommandOptLongLong(ctl, cmd, "time", &seconds); if (rv < 0) { /* invalid integer format */ @@ -1856,17 +1856,17 @@ static const vshCmdOptDef opts_list[] = { {.name = NULL} }; -#define FILTER(NAME, FLAG) \ - if (vshCommandOptBool(cmd, NAME)) \ +#define FILTER(NAME, FLAG) \ + if (vshCommandOptBool(ctl, cmd, NAME)) \ flags |= (FLAG) static bool cmdList(vshControl *ctl, const vshCmd *cmd) { - bool managed = vshCommandOptBool(cmd, "managed-save"); - bool optTitle = vshCommandOptBool(cmd, "title"); - bool optTable = vshCommandOptBool(cmd, "table"); - bool optUUID = vshCommandOptBool(cmd, "uuid"); - bool optName = vshCommandOptBool(cmd, "name"); + bool managed = vshCommandOptBool(ctl, cmd, "managed-save"); + bool optTitle = vshCommandOptBool(ctl, cmd, "title"); + bool optTable = vshCommandOptBool(ctl, cmd, "table"); + bool optUUID = vshCommandOptBool(ctl, cmd, "uuid"); + bool optName = vshCommandOptBool(ctl, cmd, "name"); size_t i; char *title; char uuid[VIR_UUID_STRING_BUFLEN]; @@ -1879,10 +1879,10 @@ cmdList(vshControl *ctl, const vshCmd *cmd) unsigned int flags = VIR_CONNECT_LIST_DOMAINS_ACTIVE; /* construct filter flags */ - if (vshCommandOptBool(cmd, "inactive")) + if (vshCommandOptBool(ctl, cmd, "inactive")) flags = VIR_CONNECT_LIST_DOMAINS_INACTIVE; - if (vshCommandOptBool(cmd, "all")) + if (vshCommandOptBool(ctl, cmd, "all")) flags = VIR_CONNECT_LIST_DOMAINS_INACTIVE | VIR_CONNECT_LIST_DOMAINS_ACTIVE; @@ -2107,65 +2107,65 @@ cmdDomstats(vshControl *ctl, const vshCmd *cmd) size_t ndoms = 0; virDomainStatsRecordPtr *records = NULL; virDomainStatsRecordPtr *next; - bool raw = vshCommandOptBool(cmd, "raw"); + bool raw = vshCommandOptBool(ctl, cmd, "raw"); int flags = 0; const vshCmdOpt *opt = NULL; bool ret = false; - if (vshCommandOptBool(cmd, "state")) + if (vshCommandOptBool(ctl, cmd, "state")) stats |= VIR_DOMAIN_STATS_STATE; - if (vshCommandOptBool(cmd, "cpu-total")) + if (vshCommandOptBool(ctl, cmd, "cpu-total")) stats |= VIR_DOMAIN_STATS_CPU_TOTAL; - if (vshCommandOptBool(cmd, "balloon")) + if (vshCommandOptBool(ctl, cmd, "balloon")) stats |= VIR_DOMAIN_STATS_BALLOON; - if (vshCommandOptBool(cmd, "vcpu")) + if (vshCommandOptBool(ctl, cmd, "vcpu")) stats |= VIR_DOMAIN_STATS_VCPU; - if (vshCommandOptBool(cmd, "interface")) + if (vshCommandOptBool(ctl, cmd, "interface")) stats |= VIR_DOMAIN_STATS_INTERFACE; - if (vshCommandOptBool(cmd, "block")) + if (vshCommandOptBool(ctl, cmd, "block")) stats |= VIR_DOMAIN_STATS_BLOCK; - if (vshCommandOptBool(cmd, "list-active")) + if (vshCommandOptBool(ctl, cmd, "list-active")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_ACTIVE; - if (vshCommandOptBool(cmd, "list-inactive")) + if (vshCommandOptBool(ctl, cmd, "list-inactive")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_INACTIVE; - if (vshCommandOptBool(cmd, "list-persistent")) + if (vshCommandOptBool(ctl, cmd, "list-persistent")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_PERSISTENT; - if (vshCommandOptBool(cmd, "list-transient")) + if (vshCommandOptBool(ctl, cmd, "list-transient")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_TRANSIENT; - if (vshCommandOptBool(cmd, "list-running")) + if (vshCommandOptBool(ctl, cmd, "list-running")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_RUNNING; - if (vshCommandOptBool(cmd, "list-paused")) + if (vshCommandOptBool(ctl, cmd, "list-paused")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_PAUSED; - if (vshCommandOptBool(cmd, "list-shutoff")) + if (vshCommandOptBool(ctl, cmd, "list-shutoff")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_SHUTOFF; - if (vshCommandOptBool(cmd, "list-other")) + if (vshCommandOptBool(ctl, cmd, "list-other")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_OTHER; - if (vshCommandOptBool(cmd, "enforce")) + if (vshCommandOptBool(ctl, cmd, "enforce")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS; - if (vshCommandOptBool(cmd, "backing")) + if (vshCommandOptBool(ctl, cmd, "backing")) flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING; - if (vshCommandOptBool(cmd, "domain")) { + if (vshCommandOptBool(ctl, cmd, "domain")) { if (VIR_ALLOC_N(domlist, 1) < 0) goto cleanup; ndoms = 1; - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { if (!(dom = vshLookupDomainBy(ctl, opt->data, VSH_BYID | VSH_BYUUID | VSH_BYNAME))) goto cleanup; @@ -2237,16 +2237,16 @@ cmdDomIfAddr(vshControl *ctl, const vshCmd *cmd) size_t i, j; int ifaces_count = 0; bool ret = false; - bool full = vshCommandOptBool(cmd, "full"); + bool full = vshCommandOptBool(ctl, cmd, "full"); const char *sourcestr = NULL; int source = VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_LEASE; if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptString(cmd, "interface", &ifacestr) < 0) + if (vshCommandOptString(ctl, cmd, "interface", &ifacestr) < 0) goto cleanup; - if (vshCommandOptString(cmd, "source", &sourcestr) < 0) + if (vshCommandOptString(ctl, cmd, "source", &sourcestr) < 0) goto cleanup; if (sourcestr) { diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 36f3e6c..bb8e20a 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -239,10 +239,10 @@ cmdAttachDevice(vshControl *ctl, const vshCmd *cmd) int rv; bool ret = false; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool persistent = vshCommandOptBool(cmd, "persistent"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool persistent = vshCommandOptBool(ctl, cmd, "persistent"); VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current); @@ -597,10 +597,10 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd) virBuffer buf = VIR_BUFFER_INITIALIZER; char *xml = NULL; struct stat st; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool persistent = vshCommandOptBool(cmd, "persistent"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool persistent = vshCommandOptBool(ctl, cmd, "persistent"); VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current); @@ -657,7 +657,7 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd) isFile ? "file" : "block"); if (type) virBufferAsprintf(&buf, " device='%s'", type); - if (vshCommandOptBool(cmd, "rawio")) + if (vshCommandOptBool(ctl, cmd, "rawio")) virBufferAddLit(&buf, " rawio='yes'"); virBufferAddLit(&buf, ">\n"); virBufferAdjustIndent(&buf, 2); @@ -707,7 +707,7 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd) " bus ='0x%02x' slot='0x%02x' function='0x%0x'", diskAddr.addr.pci.domain, diskAddr.addr.pci.bus, diskAddr.addr.pci.slot, diskAddr.addr.pci.function); - if (vshCommandOptBool(cmd, "multifunction")) + if (vshCommandOptBool(ctl, cmd, "multifunction")) virBufferAddLit(&buf, " multifunction='on'"); virBufferAddLit(&buf, "/>\n"); } else if (diskAddr.type == DISK_ADDR_TYPE_CCW) { @@ -756,7 +756,7 @@ cmdAttachDisk(vshControl *ctl, const vshCmd *cmd) xml = virBufferContentAndReset(&buf); - if (vshCommandOptBool(cmd, "print-xml")) { + if (vshCommandOptBool(ctl, cmd, "print-xml")) { vshPrint(ctl, "%s", xml); functionReturn = true; goto cleanup; @@ -910,10 +910,10 @@ cmdAttachInterface(vshControl *ctl, const vshCmd *cmd) virBuffer buf = VIR_BUFFER_INITIALIZER; char *xml; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool persistent = vshCommandOptBool(cmd, "persistent"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool persistent = vshCommandOptBool(ctl, cmd, "persistent"); VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current); @@ -1098,7 +1098,7 @@ cmdAutostart(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, &name))) return false; - autostart = !vshCommandOptBool(cmd, "disable"); + autostart = !vshCommandOptBool(ctl, cmd, "disable"); if (virDomainSetAutostart(dom, autostart) < 0) { if (autostart) @@ -1273,9 +1273,9 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; size_t i; int rv = 0; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); bool ret = false; VSH_EXCLUSIVE_OPTIONS_VAR(current, live); @@ -1292,7 +1292,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "device", &disk) < 0) goto cleanup; - if ((rv = vshCommandOptULongLong(cmd, "total-bytes-sec", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "total-bytes-sec", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1301,7 +1301,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "read-bytes-sec", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "read-bytes-sec", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1310,7 +1310,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "write-bytes-sec", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "write-bytes-sec", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1319,7 +1319,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "total-bytes-sec-max", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "total-bytes-sec-max", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1328,7 +1328,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "read-bytes-sec-max", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "read-bytes-sec-max", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1337,7 +1337,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "write-bytes-sec-max", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "write-bytes-sec-max", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1346,7 +1346,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "total-iops-sec", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "total-iops-sec", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1355,7 +1355,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "read-iops-sec", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "read-iops-sec", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1364,7 +1364,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "write-iops-sec", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "write-iops-sec", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1373,7 +1373,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "write-iops-sec-max", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "write-iops-sec-max", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1382,7 +1382,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "read-iops-sec-max", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "read-iops-sec-max", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1391,7 +1391,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "total-iops-sec-max", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "total-iops-sec-max", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1400,7 +1400,7 @@ cmdBlkdeviotune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rv = vshCommandOptULongLong(cmd, "size-iops-sec", &value)) < 0) { + if ((rv = vshCommandOptULongLong(ctl, cmd, "size-iops-sec", &value)) < 0) { goto interror; } else if (rv > 0) { if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, @@ -1536,9 +1536,9 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd) virTypedParameterPtr params = NULL; bool ret = false; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); VSH_EXCLUSIVE_OPTIONS_VAR(current, live); VSH_EXCLUSIVE_OPTIONS_VAR(current, config); @@ -1551,7 +1551,7 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if ((rv = vshCommandOptInt(cmd, "weight", &weight)) < 0) { + if ((rv = vshCommandOptInt(ctl, cmd, "weight", &weight)) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "weight"); @@ -1566,7 +1566,7 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd) goto save_error; } - rv = vshCommandOptString(cmd, "device-weights", &device_weight); + rv = vshCommandOptString(ctl, cmd, "device-weights", &device_weight); if (rv < 0) { vshError(ctl, "%s", _("Unable to parse string parameter")); goto cleanup; @@ -1577,7 +1577,7 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd) goto save_error; } - rv = vshCommandOptString(cmd, "device-read-iops-sec", &device_riops); + rv = vshCommandOptString(ctl, cmd, "device-read-iops-sec", &device_riops); if (rv < 0) { vshError(ctl, "%s", _("Unable to parse string parameter")); goto cleanup; @@ -1588,7 +1588,7 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd) goto save_error; } - rv = vshCommandOptString(cmd, "device-write-iops-sec", &device_wiops); + rv = vshCommandOptString(ctl, cmd, "device-write-iops-sec", &device_wiops); if (rv < 0) { vshError(ctl, "%s", _("Unable to parse string parameter")); goto cleanup; @@ -1599,7 +1599,7 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd) goto save_error; } - rv = vshCommandOptString(cmd, "device-read-bytes-sec", &device_rbps); + rv = vshCommandOptString(ctl, cmd, "device-read-bytes-sec", &device_rbps); if (rv < 0) { vshError(ctl, "%s", _("Unable to parse string parameter")); goto cleanup; @@ -1610,7 +1610,7 @@ cmdBlkiotune(vshControl * ctl, const vshCmd * cmd) goto save_error; } - rv = vshCommandOptString(cmd, "device-write-bytes-sec", &device_wbps); + rv = vshCommandOptString(ctl, cmd, "device-write-bytes-sec", &device_wbps); if (rv < 0) { vshError(ctl, "%s", _("Unable to parse string parameter")); goto cleanup; @@ -1692,7 +1692,7 @@ blockJobImpl(vshControl *ctl, const vshCmd *cmd, if (vshCommandOptStringReq(ctl, cmd, "path", &path) < 0) goto cleanup; - if (vshCommandOptULWrap(cmd, "bandwidth", &bandwidth) < 0) { + if (vshCommandOptULWrap(ctl, cmd, "bandwidth", &bandwidth) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "bandwidth"); @@ -1701,9 +1701,9 @@ blockJobImpl(vshControl *ctl, const vshCmd *cmd, switch (mode) { case VSH_CMD_BLOCK_JOB_ABORT: - if (vshCommandOptBool(cmd, "async")) + if (vshCommandOptBool(ctl, cmd, "async")) flags |= VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC; - if (vshCommandOptBool(cmd, "pivot")) + if (vshCommandOptBool(ctl, cmd, "pivot")) flags |= VIR_DOMAIN_BLOCK_JOB_ABORT_PIVOT; if (virDomainBlockJobAbort(dom, path, flags) < 0) goto cleanup; @@ -1715,7 +1715,7 @@ blockJobImpl(vshControl *ctl, const vshCmd *cmd, case VSH_CMD_BLOCK_JOB_PULL: if (vshCommandOptStringReq(ctl, cmd, "base", &base) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "keep-relative")) + if (vshCommandOptBool(ctl, cmd, "keep-relative")) flags |= VIR_DOMAIN_BLOCK_REBASE_RELATIVE; if (base || flags) { @@ -1731,15 +1731,15 @@ blockJobImpl(vshControl *ctl, const vshCmd *cmd, if (vshCommandOptStringReq(ctl, cmd, "base", &base) < 0 || vshCommandOptStringReq(ctl, cmd, "top", &top) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "shallow")) + if (vshCommandOptBool(ctl, cmd, "shallow")) flags |= VIR_DOMAIN_BLOCK_COMMIT_SHALLOW; - if (vshCommandOptBool(cmd, "delete")) + if (vshCommandOptBool(ctl, cmd, "delete")) flags |= VIR_DOMAIN_BLOCK_COMMIT_DELETE; - if (vshCommandOptBool(cmd, "active") || - vshCommandOptBool(cmd, "pivot") || - vshCommandOptBool(cmd, "keep-overlay")) + if (vshCommandOptBool(ctl, cmd, "active") || + vshCommandOptBool(ctl, cmd, "pivot") || + vshCommandOptBool(ctl, cmd, "keep-overlay")) flags |= VIR_DOMAIN_BLOCK_COMMIT_ACTIVE; - if (vshCommandOptBool(cmd, "keep-relative")) + if (vshCommandOptBool(ctl, cmd, "keep-relative")) flags |= VIR_DOMAIN_BLOCK_COMMIT_RELATIVE; if (virDomainBlockCommit(dom, path, base, top, bandwidth, flags) < 0) goto cleanup; @@ -1889,11 +1889,11 @@ cmdBlockCommit(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom = NULL; bool ret = false; - bool verbose = vshCommandOptBool(cmd, "verbose"); - bool pivot = vshCommandOptBool(cmd, "pivot"); - bool finish = vshCommandOptBool(cmd, "keep-overlay"); - bool active = vshCommandOptBool(cmd, "active") || pivot || finish; - bool blocking = vshCommandOptBool(cmd, "wait"); + bool verbose = vshCommandOptBool(ctl, cmd, "verbose"); + bool pivot = vshCommandOptBool(ctl, cmd, "pivot"); + bool finish = vshCommandOptBool(ctl, cmd, "keep-overlay"); + bool active = vshCommandOptBool(ctl, cmd, "active") || pivot || finish; + bool blocking = vshCommandOptBool(ctl, cmd, "wait"); int timeout = 0; struct sigaction sig_action; struct sigaction old_sig_action; @@ -1906,7 +1906,7 @@ cmdBlockCommit(vshControl *ctl, const vshCmd *cmd) int status = -1; int cb_id = -1; - blocking |= vshCommandOptBool(cmd, "timeout") || pivot || finish; + blocking |= vshCommandOptBool(ctl, cmd, "timeout") || pivot || finish; if (blocking) { if (pivot && finish) { vshError(ctl, "%s", _("cannot mix --pivot and --keep-overlay")); @@ -1916,7 +1916,7 @@ cmdBlockCommit(vshControl *ctl, const vshCmd *cmd) return false; if (vshCommandOptStringReq(ctl, cmd, "path", &path) < 0) return false; - if (vshCommandOptBool(cmd, "async")) + if (vshCommandOptBool(ctl, cmd, "async")) abort_flags |= VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC; sigemptyset(&sigmask); @@ -1929,7 +1929,7 @@ cmdBlockCommit(vshControl *ctl, const vshCmd *cmd) sigaction(SIGINT, &sig_action, &old_sig_action); GETTIMEOFDAY(&start); - } else if (verbose || vshCommandOptBool(cmd, "async")) { + } else if (verbose || vshCommandOptBool(ctl, cmd, "async")) { vshError(ctl, "%s", _("missing --wait option")); return false; } @@ -2138,11 +2138,11 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd) unsigned long long buf_size = 0; unsigned int flags = 0; bool ret = false; - bool blocking = vshCommandOptBool(cmd, "wait"); - bool verbose = vshCommandOptBool(cmd, "verbose"); - bool pivot = vshCommandOptBool(cmd, "pivot"); - bool finish = vshCommandOptBool(cmd, "finish"); - bool blockdev = vshCommandOptBool(cmd, "blockdev"); + bool blocking = vshCommandOptBool(ctl, cmd, "wait"); + bool verbose = vshCommandOptBool(ctl, cmd, "verbose"); + bool pivot = vshCommandOptBool(ctl, cmd, "pivot"); + bool finish = vshCommandOptBool(ctl, cmd, "finish"); + bool blockdev = vshCommandOptBool(ctl, cmd, "blockdev"); int timeout = 0; struct sigaction sig_action; struct sigaction old_sig_action; @@ -2161,18 +2161,18 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "path", &path) < 0) return false; - if (vshCommandOptString(cmd, "dest", &dest) < 0) + if (vshCommandOptString(ctl, cmd, "dest", &dest) < 0) return false; - if (vshCommandOptString(cmd, "xml", &xml) < 0) + if (vshCommandOptString(ctl, cmd, "xml", &xml) < 0) return false; - if (vshCommandOptString(cmd, "format", &format) < 0) + if (vshCommandOptString(ctl, cmd, "format", &format) < 0) return false; VSH_EXCLUSIVE_OPTIONS_VAR(dest, xml); VSH_EXCLUSIVE_OPTIONS_VAR(format, xml); VSH_EXCLUSIVE_OPTIONS_VAR(blockdev, xml); - blocking |= vshCommandOptBool(cmd, "timeout") || pivot || finish; + blocking |= vshCommandOptBool(ctl, cmd, "timeout") || pivot || finish; if (blocking) { if (pivot && finish) { vshError(ctl, "%s", _("cannot mix --pivot and --finish")); @@ -2180,7 +2180,7 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd) } if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0) return false; - if (vshCommandOptBool(cmd, "async")) + if (vshCommandOptBool(ctl, cmd, "async")) abort_flags |= VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC; sigemptyset(&sigmask); @@ -2193,7 +2193,7 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd) sigaction(SIGINT, &sig_action, &old_sig_action); GETTIMEOFDAY(&start); - } else if (verbose || vshCommandOptBool(cmd, "async")) { + } else if (verbose || vshCommandOptBool(ctl, cmd, "async")) { vshError(ctl, "%s", _("missing --wait option")); return false; } @@ -2216,19 +2216,19 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd) * MiB/s, and either reject negative input or treat it as 0 rather * than trying to guess which value will work well across both * APIs with their different sizes and scales. */ - if (vshCommandOptULWrap(cmd, "bandwidth", &bandwidth) < 0) { + if (vshCommandOptULWrap(ctl, cmd, "bandwidth", &bandwidth) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "bandwidth"); goto cleanup; } - if (vshCommandOptUInt(cmd, "granularity", &granularity) < 0) { + if (vshCommandOptUInt(ctl, cmd, "granularity", &granularity) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "granularity"); goto cleanup; } - if (vshCommandOptULongLong(cmd, "buf-size", &buf_size) < 0) { + if (vshCommandOptULongLong(ctl, cmd, "buf-size", &buf_size) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "buf-size"); @@ -2247,9 +2247,9 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd) /* Exploit that some VIR_DOMAIN_BLOCK_REBASE_* and * VIR_DOMAIN_BLOCK_COPY_* flags have the same values. */ - if (vshCommandOptBool(cmd, "shallow")) + if (vshCommandOptBool(ctl, cmd, "shallow")) flags |= VIR_DOMAIN_BLOCK_REBASE_SHALLOW; - if (vshCommandOptBool(cmd, "reuse-external")) + if (vshCommandOptBool(ctl, cmd, "reuse-external")) flags |= VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT; if (granularity || buf_size || (format && STRNEQ(format, "raw")) || xml) { @@ -2304,7 +2304,7 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd) } else { /* Old API */ flags |= VIR_DOMAIN_BLOCK_REBASE_COPY; - if (vshCommandOptBool(cmd, "blockdev")) + if (vshCommandOptBool(ctl, cmd, "blockdev")) flags |= VIR_DOMAIN_BLOCK_REBASE_COPY_DEV; if (STREQ_NULLABLE(format, "raw")) flags |= VIR_DOMAIN_BLOCK_REBASE_COPY_RAW; @@ -2473,13 +2473,13 @@ cmdBlockJob(vshControl *ctl, const vshCmd *cmd) virDomainBlockJobInfo info; bool ret = false; int rc = -1; - bool raw = vshCommandOptBool(cmd, "raw"); - bool bytes = vshCommandOptBool(cmd, "bytes"); - bool abortMode = (vshCommandOptBool(cmd, "abort") || - vshCommandOptBool(cmd, "async") || - vshCommandOptBool(cmd, "pivot")); - bool infoMode = vshCommandOptBool(cmd, "info") || raw; - bool bandwidth = vshCommandOptBool(cmd, "bandwidth"); + bool raw = vshCommandOptBool(ctl, cmd, "raw"); + bool bytes = vshCommandOptBool(ctl, cmd, "bytes"); + bool abortMode = (vshCommandOptBool(ctl, cmd, "abort") || + vshCommandOptBool(ctl, cmd, "async") || + vshCommandOptBool(ctl, cmd, "pivot")); + bool infoMode = vshCommandOptBool(ctl, cmd, "info") || raw; + bool bandwidth = vshCommandOptBool(ctl, cmd, "bandwidth"); virDomainPtr dom = NULL; const char *path; unsigned int flags = 0; @@ -2639,8 +2639,8 @@ cmdBlockPull(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom = NULL; bool ret = false; - bool blocking = vshCommandOptBool(cmd, "wait"); - bool verbose = vshCommandOptBool(cmd, "verbose"); + bool blocking = vshCommandOptBool(ctl, cmd, "wait"); + bool verbose = vshCommandOptBool(ctl, cmd, "verbose"); int timeout = 0; struct sigaction sig_action; struct sigaction old_sig_action; @@ -2658,7 +2658,7 @@ cmdBlockPull(vshControl *ctl, const vshCmd *cmd) return false; if (vshCommandOptStringReq(ctl, cmd, "path", &path) < 0) return false; - if (vshCommandOptBool(cmd, "async")) + if (vshCommandOptBool(ctl, cmd, "async")) abort_flags |= VIR_DOMAIN_BLOCK_JOB_ABORT_ASYNC; sigemptyset(&sigmask); @@ -2671,8 +2671,8 @@ cmdBlockPull(vshControl *ctl, const vshCmd *cmd) sigaction(SIGINT, &sig_action, &old_sig_action); GETTIMEOFDAY(&start); - } else if (verbose || vshCommandOptBool(cmd, "timeout") || - vshCommandOptBool(cmd, "async")) { + } else if (verbose || vshCommandOptBool(ctl, cmd, "timeout") || + vshCommandOptBool(ctl, cmd, "async")) { vshError(ctl, "%s", _("missing --wait option")); return false; } @@ -2800,7 +2800,7 @@ cmdBlockResize(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "path", (const char **) &path) < 0) return false; - if (vshCommandOptScaledInt(cmd, "size", &size, 1024, ULLONG_MAX) < 0) { + if (vshCommandOptScaledInt(ctl, cmd, "size", &size, 1024, ULLONG_MAX) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "size"); @@ -2901,8 +2901,8 @@ cmdConsole(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; bool ret = false; - bool force = vshCommandOptBool(cmd, "force"); - bool safe = vshCommandOptBool(cmd, "safe"); + bool force = vshCommandOptBool(ctl, cmd, "force"); + bool safe = vshCommandOptBool(ctl, cmd, "safe"); unsigned int flags = 0; const char *name = NULL; @@ -2993,7 +2993,7 @@ cmdDomIfSetLink(vshControl *ctl, const vshCmd *cmd) vshCommandOptStringReq(ctl, cmd, "state", &state) < 0) goto cleanup; - config = vshCommandOptBool(cmd, "config"); + config = vshCommandOptBool(ctl, cmd, "config"); if (STRNEQ(state, "up") && STRNEQ(state, "down")) { vshError(ctl, _("invalid link state '%s'"), state); @@ -3170,9 +3170,9 @@ cmdDomIftune(vshControl *ctl, const vshCmd *cmd) int maxparams = 0; virTypedParameterPtr params = NULL; bool ret = false; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); virNetDevBandwidthRate inbound, outbound; size_t i; @@ -3406,7 +3406,7 @@ cmdDomPMSuspend(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, &name))) return false; - if (vshCommandOptULongLong(cmd, "duration", &duration) < 0) { + if (vshCommandOptULongLong(ctl, cmd, "duration", &duration) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "duration"); @@ -3556,11 +3556,11 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd) /* Flags to attempt. */ unsigned int flags = 0; /* User-requested actions. */ - bool managed_save = vshCommandOptBool(cmd, "managed-save"); - bool snapshots_metadata = vshCommandOptBool(cmd, "snapshots-metadata"); - bool wipe_storage = vshCommandOptBool(cmd, "wipe-storage"); - bool remove_all_storage = vshCommandOptBool(cmd, "remove-all-storage"); - bool nvram = vshCommandOptBool(cmd, "nvram"); + bool managed_save = vshCommandOptBool(ctl, cmd, "managed-save"); + bool snapshots_metadata = vshCommandOptBool(ctl, cmd, "snapshots-metadata"); + bool wipe_storage = vshCommandOptBool(ctl, cmd, "wipe-storage"); + bool remove_all_storage = vshCommandOptBool(ctl, cmd, "remove-all-storage"); + bool nvram = vshCommandOptBool(ctl, cmd, "nvram"); /* Positive if these items exist. */ int has_managed_save = 0; int has_snapshots_metadata = 0; @@ -3587,7 +3587,7 @@ cmdUndefine(vshControl *ctl, const vshCmd *cmd) size_t i; size_t j; - ignore_value(vshCommandOptString(cmd, "storage", &vol_string)); + ignore_value(vshCommandOptString(ctl, cmd, "storage", &vol_string)); if (!(vol_string || remove_all_storage) && wipe_storage) { vshError(ctl, @@ -3966,7 +3966,7 @@ cmdStartGetFDs(vshControl *ctl, *nfdsret = 0; *fdsret = NULL; - if (vshCommandOptString(cmd, "pass-fds", &fdopt) <= 0) + if (vshCommandOptString(ctl, cmd, "pass-fds", &fdopt) <= 0) return 0; if (!(fdlist = virStringSplit(fdopt, ",", -1))) { @@ -4005,7 +4005,7 @@ cmdStart(vshControl *ctl, const vshCmd *cmd) virDomainPtr dom; bool ret = false; #ifndef WIN32 - bool console = vshCommandOptBool(cmd, "console"); + bool console = vshCommandOptBool(ctl, cmd, "console"); #endif unsigned int flags = VIR_DOMAIN_NONE; int rc; @@ -4024,13 +4024,13 @@ cmdStart(vshControl *ctl, const vshCmd *cmd) if (cmdStartGetFDs(ctl, cmd, &nfds, &fds) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "paused")) + if (vshCommandOptBool(ctl, cmd, "paused")) flags |= VIR_DOMAIN_START_PAUSED; - if (vshCommandOptBool(cmd, "autodestroy")) + if (vshCommandOptBool(ctl, cmd, "autodestroy")) flags |= VIR_DOMAIN_START_AUTODESTROY; - if (vshCommandOptBool(cmd, "bypass-cache")) + if (vshCommandOptBool(ctl, cmd, "bypass-cache")) flags |= VIR_DOMAIN_START_BYPASS_CACHE; - if (vshCommandOptBool(cmd, "force-boot")) + if (vshCommandOptBool(ctl, cmd, "force-boot")) flags |= VIR_DOMAIN_START_FORCE_BOOT; /* We can emulate force boot, even for older servers that reject it. */ @@ -4152,11 +4152,11 @@ doSave(void *opaque) if (vshCommandOptStringReq(ctl, cmd, "file", &to) < 0) goto out; - if (vshCommandOptBool(cmd, "bypass-cache")) + if (vshCommandOptBool(ctl, cmd, "bypass-cache")) flags |= VIR_DOMAIN_SAVE_BYPASS_CACHE; - if (vshCommandOptBool(cmd, "running")) + if (vshCommandOptBool(ctl, cmd, "running")) flags |= VIR_DOMAIN_SAVE_RUNNING; - if (vshCommandOptBool(cmd, "paused")) + if (vshCommandOptBool(ctl, cmd, "paused")) flags |= VIR_DOMAIN_SAVE_PAUSED; if (vshCommandOptStringReq(ctl, cmd, "xml", &xmlfile) < 0) @@ -4324,7 +4324,7 @@ cmdSave(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "file", &to) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "verbose")) + if (vshCommandOptBool(ctl, cmd, "verbose")) verbose = true; if (pipe(p) < 0) @@ -4386,7 +4386,7 @@ cmdSaveImageDumpxml(vshControl *ctl, const vshCmd *cmd) unsigned int flags = 0; char *xml = NULL; - if (vshCommandOptBool(cmd, "security-info")) + if (vshCommandOptBool(ctl, cmd, "security-info")) flags |= VIR_DOMAIN_XML_SECURE; if (vshCommandOptStringReq(ctl, cmd, "file", &file) < 0) @@ -4448,9 +4448,9 @@ cmdSaveImageDefine(vshControl *ctl, const vshCmd *cmd) char *xml = NULL; unsigned int flags = 0; - if (vshCommandOptBool(cmd, "running")) + if (vshCommandOptBool(ctl, cmd, "running")) flags |= VIR_DOMAIN_SAVE_RUNNING; - if (vshCommandOptBool(cmd, "paused")) + if (vshCommandOptBool(ctl, cmd, "paused")) flags |= VIR_DOMAIN_SAVE_PAUSED; if (vshCommandOptStringReq(ctl, cmd, "file", &file) < 0) @@ -4513,9 +4513,9 @@ cmdSaveImageEdit(vshControl *ctl, const vshCmd *cmd) unsigned int getxml_flags = VIR_DOMAIN_XML_SECURE; unsigned int define_flags = 0; - if (vshCommandOptBool(cmd, "running")) + if (vshCommandOptBool(ctl, cmd, "running")) define_flags |= VIR_DOMAIN_SAVE_RUNNING; - if (vshCommandOptBool(cmd, "paused")) + if (vshCommandOptBool(ctl, cmd, "paused")) define_flags |= VIR_DOMAIN_SAVE_PAUSED; /* Normally, we let the API reject mutually exclusive flags. @@ -4608,11 +4608,11 @@ doManagedsave(void *opaque) if (pthread_sigmask(SIG_BLOCK, &sigmask, &oldsigmask) < 0) goto out_sig; - if (vshCommandOptBool(cmd, "bypass-cache")) + if (vshCommandOptBool(ctl, cmd, "bypass-cache")) flags |= VIR_DOMAIN_SAVE_BYPASS_CACHE; - if (vshCommandOptBool(cmd, "running")) + if (vshCommandOptBool(ctl, cmd, "running")) flags |= VIR_DOMAIN_SAVE_RUNNING; - if (vshCommandOptBool(cmd, "paused")) + if (vshCommandOptBool(ctl, cmd, "paused")) flags |= VIR_DOMAIN_SAVE_PAUSED; if (!(dom = vshCommandOptDomain(ctl, cmd, &name))) @@ -4646,7 +4646,7 @@ cmdManagedSave(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, &name))) return false; - if (vshCommandOptBool(cmd, "verbose")) + if (vshCommandOptBool(ctl, cmd, "verbose")) verbose = true; if (pipe(p) < 0) @@ -4834,7 +4834,7 @@ cmdSchedInfoUpdate(vshControl *ctl, const vshCmd *cmd, int ret = -1; int rv; - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { set_field = vshStrdup(ctl, opt->data); if (!(set_val = strchr(set_field, '='))) { vshError(ctl, "%s", _("Invalid syntax for --set, " @@ -4892,9 +4892,9 @@ cmdSchedinfo(vshControl *ctl, const vshCmd *cmd) int ret; bool ret_val = false; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); VSH_EXCLUSIVE_OPTIONS_VAR(current, live); VSH_EXCLUSIVE_OPTIONS_VAR(current, config); @@ -5034,11 +5034,11 @@ cmdRestore(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0) return false; - if (vshCommandOptBool(cmd, "bypass-cache")) + if (vshCommandOptBool(ctl, cmd, "bypass-cache")) flags |= VIR_DOMAIN_SAVE_BYPASS_CACHE; - if (vshCommandOptBool(cmd, "running")) + if (vshCommandOptBool(ctl, cmd, "running")) flags |= VIR_DOMAIN_SAVE_RUNNING; - if (vshCommandOptBool(cmd, "paused")) + if (vshCommandOptBool(ctl, cmd, "paused")) flags |= VIR_DOMAIN_SAVE_PAUSED; if (vshCommandOptStringReq(ctl, cmd, "xml", &xmlfile) < 0) @@ -5144,24 +5144,24 @@ doDump(void *opaque) if (!(dom = vshCommandOptDomain(ctl, cmd, &name))) goto out; - if (vshCommandOptBool(cmd, "live")) + if (vshCommandOptBool(ctl, cmd, "live")) flags |= VIR_DUMP_LIVE; - if (vshCommandOptBool(cmd, "crash")) + if (vshCommandOptBool(ctl, cmd, "crash")) flags |= VIR_DUMP_CRASH; - if (vshCommandOptBool(cmd, "bypass-cache")) + if (vshCommandOptBool(ctl, cmd, "bypass-cache")) flags |= VIR_DUMP_BYPASS_CACHE; - if (vshCommandOptBool(cmd, "reset")) + if (vshCommandOptBool(ctl, cmd, "reset")) flags |= VIR_DUMP_RESET; - if (vshCommandOptBool(cmd, "memory-only")) + if (vshCommandOptBool(ctl, cmd, "memory-only")) flags |= VIR_DUMP_MEMORY_ONLY; - if (vshCommandOptBool(cmd, "format")) { + if (vshCommandOptBool(ctl, cmd, "format")) { if (!(flags & VIR_DUMP_MEMORY_ONLY)) { vshError(ctl, "%s", _("--format only works with --memory-only")); goto out; } - if (vshCommandOptString(cmd, "format", &format)) { + if (vshCommandOptString(ctl, cmd, "format", &format)) { if (STREQ(format, "kdump-zlib")) { dumpformat = VIR_DOMAIN_CORE_DUMP_FORMAT_KDUMP_ZLIB; } else if (STREQ(format, "kdump-lzo")) { @@ -5218,7 +5218,7 @@ cmdDump(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "file", &to) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "verbose")) + if (vshCommandOptBool(ctl, cmd, "verbose")) verbose = true; if (pipe(p) < 0) @@ -5330,7 +5330,7 @@ cmdScreenshot(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "file", (const char **) &file) < 0) return false; - if (vshCommandOptUInt(cmd, "screen", &screen) < 0) { + if (vshCommandOptUInt(ctl, cmd, "screen", &screen) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "screen"); @@ -5715,7 +5715,7 @@ cmdDomjobinfo(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptBool(cmd, "completed")) + if (vshCommandOptBool(ctl, cmd, "completed")) flags |= VIR_DOMAIN_JOB_STATS_COMPLETED; memset(&info, 0, sizeof(info)); @@ -6119,12 +6119,12 @@ cmdVcpucount(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; bool ret = false; - bool maximum = vshCommandOptBool(cmd, "maximum"); - bool active = vshCommandOptBool(cmd, "active"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); - bool guest = vshCommandOptBool(cmd, "guest"); + bool maximum = vshCommandOptBool(ctl, cmd, "maximum"); + bool active = vshCommandOptBool(ctl, cmd, "active"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool guest = vshCommandOptBool(ctl, cmd, "guest"); bool all = maximum + active + current + config + live + guest == 0; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; @@ -6226,7 +6226,7 @@ cmdVcpuinfo(vshControl *ctl, const vshCmd *cmd) int ncpus, maxcpu; size_t cpumaplen; bool ret = false; - bool pretty = vshCommandOptBool(cmd, "pretty"); + bool pretty = vshCommandOptBool(ctl, cmd, "pretty"); int n, m; if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) @@ -6406,9 +6406,9 @@ cmdVcpuPin(vshControl *ctl, const vshCmd *cmd) int cpumaplen; int maxcpu, ncpus; size_t i; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); int got_vcpu; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; @@ -6429,7 +6429,7 @@ cmdVcpuPin(vshControl *ctl, const vshCmd *cmd) if (!cpulist) VSH_EXCLUSIVE_OPTIONS_VAR(live, config); - if ((got_vcpu = vshCommandOptUInt(cmd, "vcpu", &vcpu)) < 0) { + if ((got_vcpu = vshCommandOptUInt(ctl, cmd, "vcpu", &vcpu)) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "vcpu"); @@ -6552,9 +6552,9 @@ cmdEmulatorPin(vshControl *ctl, const vshCmd *cmd) unsigned char *cpumap = NULL; int cpumaplen; int maxcpu; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); bool query = false; /* Query mode if no cpulist */ unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; @@ -6673,11 +6673,11 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd) virDomainPtr dom; int count = 0; bool ret = false; - bool maximum = vshCommandOptBool(cmd, "maximum"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); - bool guest = vshCommandOptBool(cmd, "guest"); + bool maximum = vshCommandOptBool(ctl, cmd, "maximum"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool guest = vshCommandOptBool(ctl, cmd, "guest"); unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; VSH_EXCLUSIVE_OPTIONS_VAR(current, live); @@ -6698,7 +6698,7 @@ cmdSetvcpus(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptInt(cmd, "count", &count) < 0 || count <= 0) { + if (vshCommandOptInt(ctl, cmd, "count", &count) < 0 || count <= 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "count"); @@ -6758,9 +6758,9 @@ static bool cmdIOThreadInfo(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); int niothreads = 0; virDomainIOThreadInfoPtr *info; size_t i; @@ -6857,9 +6857,9 @@ cmdIOThreadPin(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; const char *cpulist = NULL; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); unsigned int iothread_id = 0; int maxcpu; bool ret = false; @@ -6878,14 +6878,14 @@ cmdIOThreadPin(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptUInt(cmd, "iothread", &iothread_id) < 0) { + if (vshCommandOptUInt(ctl, cmd, "iothread", &iothread_id) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "iothread"); goto cleanup; } - if (vshCommandOptString(cmd, "cpulist", &cpulist) < 0) { + if (vshCommandOptString(ctl, cmd, "cpulist", &cpulist) < 0) { vshError(ctl, "%s", _("iothreadpin: invalid cpulist.")); goto cleanup; } @@ -6953,9 +6953,9 @@ cmdIOThreadAdd(vshControl *ctl, const vshCmd *cmd) virDomainPtr dom; int iothread_id = 0; bool ret = false; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; VSH_EXCLUSIVE_OPTIONS_VAR(current, live); @@ -6969,7 +6969,7 @@ cmdIOThreadAdd(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptInt(cmd, "id", &iothread_id) < 0) { + if (vshCommandOptInt(ctl, cmd, "id", &iothread_id) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "id"); @@ -7035,9 +7035,9 @@ cmdIOThreadDel(vshControl *ctl, const vshCmd *cmd) virDomainPtr dom; int iothread_id = 0; bool ret = false; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; VSH_EXCLUSIVE_OPTIONS_VAR(current, live); @@ -7051,7 +7051,7 @@ cmdIOThreadDel(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptInt(cmd, "id", &iothread_id) < 0) { + if (vshCommandOptInt(ctl, cmd, "id", &iothread_id) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "id"); @@ -7111,7 +7111,7 @@ cmdCPUCompare(vshControl *ctl, const vshCmd *cmd) xmlXPathContextPtr ctxt = NULL; xmlNodePtr node; - if (vshCommandOptBool(cmd, "error")) + if (vshCommandOptBool(ctl, cmd, "error")) flags |= VIR_CONNECT_COMPARE_CPU_FAIL_INCOMPATIBLE; if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0) @@ -7220,9 +7220,9 @@ cmdCPUBaseline(vshControl *ctl, const vshCmd *cmd) virBuffer buf = VIR_BUFFER_INITIALIZER; size_t i; - if (vshCommandOptBool(cmd, "features")) + if (vshCommandOptBool(ctl, cmd, "features")) flags |= VIR_CONNECT_BASELINE_CPU_EXPAND_FEATURES; - if (vshCommandOptBool(cmd, "migratable")) + if (vshCommandOptBool(ctl, cmd, "migratable")) flags |= VIR_CONNECT_BASELINE_CPU_MIGRATABLE; if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0) @@ -7338,9 +7338,9 @@ cmdCPUStats(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - show_total = vshCommandOptBool(cmd, "total"); + show_total = vshCommandOptBool(ctl, cmd, "total"); - if ((rv = vshCommandOptInt(cmd, "start", &cpu)) < 0) { + if ((rv = vshCommandOptInt(ctl, cmd, "start", &cpu)) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "start"); @@ -7353,7 +7353,7 @@ cmdCPUStats(vshControl *ctl, const vshCmd *cmd) show_per_cpu = true; } - if ((rv = vshCommandOptInt(cmd, "count", &show_count)) < 0) { + if ((rv = vshCommandOptInt(ctl, cmd, "count", &show_count)) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "count"); @@ -7536,7 +7536,7 @@ cmdCreate(vshControl *ctl, const vshCmd *cmd) bool ret = false; char *buffer; #ifndef WIN32 - bool console = vshCommandOptBool(cmd, "console"); + bool console = vshCommandOptBool(ctl, cmd, "console"); #endif unsigned int flags = 0; size_t nfds = 0; @@ -7551,11 +7551,11 @@ cmdCreate(vshControl *ctl, const vshCmd *cmd) if (cmdStartGetFDs(ctl, cmd, &nfds, &fds) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "paused")) + if (vshCommandOptBool(ctl, cmd, "paused")) flags |= VIR_DOMAIN_START_PAUSED; - if (vshCommandOptBool(cmd, "autodestroy")) + if (vshCommandOptBool(ctl, cmd, "autodestroy")) flags |= VIR_DOMAIN_START_AUTODESTROY; - if (vshCommandOptBool(cmd, "validate")) + if (vshCommandOptBool(ctl, cmd, "validate")) flags |= VIR_DOMAIN_START_VALIDATE; if (nfds) @@ -7621,7 +7621,7 @@ cmdDefine(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0) return false; - if (vshCommandOptBool(cmd, "validate")) + if (vshCommandOptBool(ctl, cmd, "validate")) flags |= VIR_DOMAIN_DEFINE_VALIDATE; if (virFileReadAll(from, VSH_MAX_XML_FILE, &buffer) < 0) @@ -7682,7 +7682,7 @@ cmdDestroy(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, &name))) return false; - if (vshCommandOptBool(cmd, "graceful")) + if (vshCommandOptBool(ctl, cmd, "graceful")) flags |= VIR_DOMAIN_DESTROY_GRACEFUL; if (flags) @@ -7751,12 +7751,12 @@ static bool cmdDesc(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); - bool title = vshCommandOptBool(cmd, "title"); - bool edit = vshCommandOptBool(cmd, "edit"); + bool title = vshCommandOptBool(ctl, cmd, "title"); + bool edit = vshCommandOptBool(ctl, cmd, "edit"); int state; int type; @@ -7784,7 +7784,7 @@ cmdDesc(vshControl *ctl, const vshCmd *cmd) if ((state = vshDomainState(ctl, dom, NULL)) < 0) goto cleanup; - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { if (pad) virBufferAddChar(&buf, ' '); pad = true; @@ -7959,11 +7959,11 @@ static bool cmdMetadata(vshControl *ctl, const vshCmd *cmd) { virDomainPtr dom; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); - bool edit = vshCommandOptBool(cmd, "edit"); - bool rem = vshCommandOptBool(cmd, "remove"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool edit = vshCommandOptBool(ctl, cmd, "edit"); + bool rem = vshCommandOptBool(ctl, cmd, "remove"); const char *set = NULL; const char *uri = NULL; const char *key = NULL; @@ -8140,10 +8140,10 @@ cmdSendKey(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptString(cmd, "codeset", &codeset_option) <= 0) + if (vshCommandOptString(ctl, cmd, "codeset", &codeset_option) <= 0) codeset_option = "linux"; - if (vshCommandOptUInt(cmd, "holdtime", &holdtime) < 0) { + if (vshCommandOptUInt(ctl, cmd, "holdtime", &holdtime) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "holdtime"); @@ -8156,7 +8156,7 @@ cmdSendKey(vshControl *ctl, const vshCmd *cmd) goto cleanup; } - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { if (count == VIR_DOMAIN_SEND_KEY_MAX_KEYS) { vshError(ctl, _("too many keycodes")); goto cleanup; @@ -8269,7 +8269,7 @@ cmdSendProcessSignal(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptLongLong(cmd, "pid", &pid_value) < 0) { + if (vshCommandOptLongLong(ctl, cmd, "pid", &pid_value) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "pid"); @@ -8345,9 +8345,9 @@ cmdSetmem(vshControl *ctl, const vshCmd *cmd) unsigned long long max; unsigned long kibibytes = 0; bool ret = true; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; VSH_EXCLUSIVE_OPTIONS_VAR(current, live); @@ -8370,7 +8370,7 @@ cmdSetmem(vshControl *ctl, const vshCmd *cmd) max = 1024ull * ULONG_MAX; else max = ULONG_MAX; - if (vshCommandOptScaledInt(cmd, "size", &bytes, 1024, max) < 0) { + if (vshCommandOptScaledInt(ctl, cmd, "size", &bytes, 1024, max) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "size"); @@ -8442,9 +8442,9 @@ cmdSetmaxmem(vshControl *ctl, const vshCmd *cmd) unsigned long long max; unsigned long kibibytes = 0; bool ret = true; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT | VIR_DOMAIN_MEM_MAXIMUM; VSH_EXCLUSIVE_OPTIONS_VAR(current, live); @@ -8467,7 +8467,7 @@ cmdSetmaxmem(vshControl *ctl, const vshCmd *cmd) max = 1024ull * ULONG_MAX; else max = ULONG_MAX; - if (vshCommandOptScaledInt(cmd, "size", &bytes, 1024, max) < 0) { + if (vshCommandOptScaledInt(ctl, cmd, "size", &bytes, 1024, max) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "size"); @@ -8562,14 +8562,14 @@ static const vshCmdOptDef opts_memtune[] = { * <0 in all other cases */ static int -vshMemtuneGetSize(const vshCmd *cmd, const char *name, long long *value) +vshMemtuneGetSize(vshControl *ctl, const vshCmd *cmd, const char *name, long long *value) { int ret; unsigned long long tmp; const char *str; char *end; - ret = vshCommandOptString(cmd, name, &str); + ret = vshCommandOptString(ctl, cmd, name, &str); if (ret <= 0) return ret; if (virStrToLong_ll(str, &end, 10, value) < 0) @@ -8597,9 +8597,9 @@ cmdMemtune(vshControl *ctl, const vshCmd *cmd) virTypedParameterPtr params = NULL; bool ret = false; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); VSH_EXCLUSIVE_OPTIONS_VAR(current, live); VSH_EXCLUSIVE_OPTIONS_VAR(current, config); @@ -8613,7 +8613,7 @@ cmdMemtune(vshControl *ctl, const vshCmd *cmd) return false; #define PARSE_MEMTUNE_PARAM(NAME, FIELD) \ - if ((rc = vshMemtuneGetSize(cmd, NAME, &tmpVal)) < 0) { \ + if ((rc = vshMemtuneGetSize(ctl, cmd, NAME, &tmpVal)) < 0) { \ vshError(ctl, _("Unable to parse integer parameter %s"), NAME); \ goto cleanup; \ } \ @@ -8738,9 +8738,9 @@ cmdNumatune(vshControl * ctl, const vshCmd * cmd) const char *nodeset = NULL; bool ret = false; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); const char *mode = NULL; VSH_EXCLUSIVE_OPTIONS_VAR(current, live); @@ -8884,7 +8884,7 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd) if (dom == NULL) goto cleanup; - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { if (pad) virBufferAddChar(&buf, ' '); pad = true; @@ -8896,8 +8896,8 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd) } monitor_cmd = virBufferContentAndReset(&buf); - if (vshCommandOptBool(cmd, "hmp")) { - if (vshCommandOptBool(cmd, "pretty")) { + if (vshCommandOptBool(ctl, cmd, "hmp")) { + if (vshCommandOptBool(ctl, cmd, "pretty")) { vshError(ctl, _("--hmp and --pretty are not compatible")); goto cleanup; } @@ -8907,7 +8907,7 @@ cmdQemuMonitorCommand(vshControl *ctl, const vshCmd *cmd) if (virDomainQemuMonitorCommand(dom, monitor_cmd, &result, flags) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "pretty")) { + if (vshCommandOptBool(ctl, cmd, "pretty")) { char *tmp; pretty = virJSONValueFromString(result); if (pretty && (tmp = virJSONValueToString(pretty, true))) { @@ -9021,21 +9021,21 @@ cmdQemuMonitorEvent(vshControl *ctl, const vshCmd *cmd) const char *event = NULL; vshQemuEventData data; - if (vshCommandOptBool(cmd, "regex")) + if (vshCommandOptBool(ctl, cmd, "regex")) flags |= VIR_CONNECT_DOMAIN_QEMU_MONITOR_EVENT_REGISTER_REGEX; - if (vshCommandOptBool(cmd, "no-case")) + if (vshCommandOptBool(ctl, cmd, "no-case")) flags |= VIR_CONNECT_DOMAIN_QEMU_MONITOR_EVENT_REGISTER_NOCASE; data.ctl = ctl; - data.loop = vshCommandOptBool(cmd, "loop"); - data.pretty = vshCommandOptBool(cmd, "pretty"); + data.loop = vshCommandOptBool(ctl, cmd, "loop"); + data.pretty = vshCommandOptBool(ctl, cmd, "pretty"); data.count = 0; if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0) return false; - if (vshCommandOptString(cmd, "event", &event) < 0) + if (vshCommandOptString(ctl, cmd, "event", &event) < 0) return false; - if (vshCommandOptBool(cmd, "domain")) + if (vshCommandOptBool(ctl, cmd, "domain")) dom = vshCommandOptDomain(ctl, cmd, NULL); if (vshEventStart(ctl, timeout) < 0) goto cleanup; @@ -9103,7 +9103,7 @@ cmdQemuAttach(vshControl *ctl, const vshCmd *cmd) unsigned int flags = 0; unsigned int pid_value; /* API uses unsigned int, not pid_t */ - if (vshCommandOptUInt(cmd, "pid", &pid_value) <= 0) { + if (vshCommandOptUInt(ctl, cmd, "pid", &pid_value) <= 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "pid"); @@ -9187,7 +9187,7 @@ cmdQemuAgentCommand(vshControl *ctl, const vshCmd *cmd) if (dom == NULL) goto cleanup; - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { if (pad) virBufferAddChar(&buf, ' '); pad = true; @@ -9199,7 +9199,7 @@ cmdQemuAgentCommand(vshControl *ctl, const vshCmd *cmd) } guest_agent_cmd = virBufferContentAndReset(&buf); - judge = vshCommandOptInt(cmd, "timeout", &timeout); + judge = vshCommandOptInt(ctl, cmd, "timeout", &timeout); if (judge < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), @@ -9213,11 +9213,11 @@ cmdQemuAgentCommand(vshControl *ctl, const vshCmd *cmd) goto cleanup; } - if (vshCommandOptBool(cmd, "async")) { + if (vshCommandOptBool(ctl, cmd, "async")) { timeout = VIR_DOMAIN_QEMU_AGENT_COMMAND_NOWAIT; judge++; } - if (vshCommandOptBool(cmd, "block")) { + if (vshCommandOptBool(ctl, cmd, "block")) { timeout = VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK; judge++; } @@ -9231,7 +9231,7 @@ cmdQemuAgentCommand(vshControl *ctl, const vshCmd *cmd) if (!result) goto cleanup; - if (vshCommandOptBool(cmd, "pretty")) { + if (vshCommandOptBool(ctl, cmd, "pretty")) { char *tmp; pretty = virJSONValueFromString(result); if (pretty && (tmp = virJSONValueToString(pretty, true))) { @@ -9306,10 +9306,10 @@ cmdLxcEnterNamespace(vshControl *ctl, const vshCmd *cmd) if (dom == NULL) goto cleanup; - if (vshCommandOptBool(cmd, "noseclabel")) + if (vshCommandOptBool(ctl, cmd, "noseclabel")) setlabel = false; - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { if (VIR_EXPAND_N(cmdargv, ncmdargv, 1) < 0) { vshError(ctl, _("%s: %d: failed to allocate argv"), __FILE__, __LINE__); @@ -9442,10 +9442,10 @@ cmdDumpXML(vshControl *ctl, const vshCmd *cmd) bool ret = true; char *dump; unsigned int flags = 0; - bool inactive = vshCommandOptBool(cmd, "inactive"); - bool secure = vshCommandOptBool(cmd, "security-info"); - bool update = vshCommandOptBool(cmd, "update-cpu"); - bool migratable = vshCommandOptBool(cmd, "migratable"); + bool inactive = vshCommandOptBool(ctl, cmd, "inactive"); + bool secure = vshCommandOptBool(ctl, cmd, "security-info"); + bool update = vshCommandOptBool(ctl, cmd, "update-cpu"); + bool migratable = vshCommandOptBool(ctl, cmd, "migratable"); if (inactive) flags |= VIR_DOMAIN_XML_INACTIVE; @@ -9898,49 +9898,49 @@ doMigrate(void *opaque) VIR_FREE(xml); } - if (vshCommandOptBool(cmd, "live")) + if (vshCommandOptBool(ctl, cmd, "live")) flags |= VIR_MIGRATE_LIVE; - if (vshCommandOptBool(cmd, "p2p")) + if (vshCommandOptBool(ctl, cmd, "p2p")) flags |= VIR_MIGRATE_PEER2PEER; - if (vshCommandOptBool(cmd, "tunnelled")) + if (vshCommandOptBool(ctl, cmd, "tunnelled")) flags |= VIR_MIGRATE_TUNNELLED; - if (vshCommandOptBool(cmd, "persistent")) + if (vshCommandOptBool(ctl, cmd, "persistent")) flags |= VIR_MIGRATE_PERSIST_DEST; - if (vshCommandOptBool(cmd, "undefinesource")) + if (vshCommandOptBool(ctl, cmd, "undefinesource")) flags |= VIR_MIGRATE_UNDEFINE_SOURCE; - if (vshCommandOptBool(cmd, "suspend")) + if (vshCommandOptBool(ctl, cmd, "suspend")) flags |= VIR_MIGRATE_PAUSED; - if (vshCommandOptBool(cmd, "copy-storage-all")) + if (vshCommandOptBool(ctl, cmd, "copy-storage-all")) flags |= VIR_MIGRATE_NON_SHARED_DISK; - if (vshCommandOptBool(cmd, "copy-storage-inc")) + if (vshCommandOptBool(ctl, cmd, "copy-storage-inc")) flags |= VIR_MIGRATE_NON_SHARED_INC; - if (vshCommandOptBool(cmd, "change-protection")) + if (vshCommandOptBool(ctl, cmd, "change-protection")) flags |= VIR_MIGRATE_CHANGE_PROTECTION; - if (vshCommandOptBool(cmd, "unsafe")) + if (vshCommandOptBool(ctl, cmd, "unsafe")) flags |= VIR_MIGRATE_UNSAFE; - if (vshCommandOptBool(cmd, "compressed")) + if (vshCommandOptBool(ctl, cmd, "compressed")) flags |= VIR_MIGRATE_COMPRESSED; - if (vshCommandOptBool(cmd, "auto-converge")) + if (vshCommandOptBool(ctl, cmd, "auto-converge")) flags |= VIR_MIGRATE_AUTO_CONVERGE; - if (vshCommandOptBool(cmd, "rdma-pin-all")) + if (vshCommandOptBool(ctl, cmd, "rdma-pin-all")) flags |= VIR_MIGRATE_RDMA_PIN_ALL; - if (vshCommandOptBool(cmd, "offline")) + if (vshCommandOptBool(ctl, cmd, "offline")) flags |= VIR_MIGRATE_OFFLINE; - if (vshCommandOptBool(cmd, "abort-on-error")) + if (vshCommandOptBool(ctl, cmd, "abort-on-error")) flags |= VIR_MIGRATE_ABORT_ON_ERROR; - if (flags & VIR_MIGRATE_PEER2PEER || vshCommandOptBool(cmd, "direct")) { + if (flags & VIR_MIGRATE_PEER2PEER || vshCommandOptBool(ctl, cmd, "direct")) { if (virDomainMigrateToURI3(dom, desturi, params, nparams, flags) == 0) ret = '0'; } else { @@ -9992,10 +9992,10 @@ cmdMigrate(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptBool(cmd, "verbose")) + if (vshCommandOptBool(ctl, cmd, "verbose")) verbose = true; - if (vshCommandOptBool(cmd, "live")) + if (vshCommandOptBool(ctl, cmd, "live")) live_flag = true; if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0) { goto cleanup; @@ -10012,7 +10012,7 @@ cmdMigrate(vshControl *ctl, const vshCmd *cmd) data.cmd = cmd; data.writefd = p[1]; - if (vshCommandOptBool(cmd, "p2p") || vshCommandOptBool(cmd, "direct")) { + if (vshCommandOptBool(ctl, cmd, "p2p") || vshCommandOptBool(ctl, cmd, "direct")) { data.dconn = NULL; } else { /* For traditional live migration, connect to the destination host. */ @@ -10085,7 +10085,7 @@ cmdMigrateSetMaxDowntime(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptLongLong(cmd, "downtime", &downtime) < 0) { + if (vshCommandOptLongLong(ctl, cmd, "downtime", &downtime) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "downtime"); @@ -10147,7 +10147,7 @@ cmdMigrateCompCache(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - rc = vshCommandOptULongLong(cmd, "size", &size); + rc = vshCommandOptULongLong(ctl, cmd, "size", &size); if (rc < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), @@ -10208,7 +10208,7 @@ cmdMigrateSetMaxSpeed(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - if (vshCommandOptULWrap(cmd, "bandwidth", &bandwidth) < 0) { + if (vshCommandOptULWrap(ctl, cmd, "bandwidth", &bandwidth) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "bandwidth"); @@ -10332,7 +10332,7 @@ cmdDomDisplay(vshControl *ctl, const vshCmd *cmd) goto cleanup; } - if (vshCommandOptBool(cmd, "include-password")) + if (vshCommandOptBool(ctl, cmd, "include-password")) flags |= VIR_DOMAIN_XML_SECURE; if (vshCommandOptStringReq(ctl, cmd, "type", &type) < 0) @@ -10852,10 +10852,10 @@ cmdDetachDevice(vshControl *ctl, const vshCmd *cmd) char *buffer = NULL; int ret; bool funcRet = false; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool persistent = vshCommandOptBool(cmd, "persistent"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool persistent = vshCommandOptBool(ctl, cmd, "persistent"); unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current); @@ -10957,10 +10957,10 @@ cmdUpdateDevice(vshControl *ctl, const vshCmd *cmd) char *buffer = NULL; bool ret = false; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool persistent = vshCommandOptBool(cmd, "persistent"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool persistent = vshCommandOptBool(ctl, cmd, "persistent"); VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current); @@ -10987,7 +10987,7 @@ cmdUpdateDevice(vshControl *ctl, const vshCmd *cmd) goto cleanup; } - if (vshCommandOptBool(cmd, "force")) + if (vshCommandOptBool(ctl, cmd, "force")) flags |= VIR_DOMAIN_DEVICE_MODIFY_FORCE; if (virDomainUpdateDeviceFlags(dom, buffer, flags) < 0) { @@ -11068,10 +11068,10 @@ cmdDetachInterface(vshControl *ctl, const vshCmd *cmd) int ret; bool functionReturn = false; unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool persistent = vshCommandOptBool(cmd, "persistent"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool persistent = vshCommandOptBool(ctl, cmd, "persistent"); VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current); @@ -11431,10 +11431,10 @@ cmdDetachDisk(vshControl *ctl, const vshCmd *cmd) int ret; bool functionReturn = false; xmlNodePtr disk_node = NULL; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool persistent = vshCommandOptBool(cmd, "persistent"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool persistent = vshCommandOptBool(ctl, cmd, "persistent"); unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; VSH_EXCLUSIVE_OPTIONS_VAR(persistent, current); @@ -11533,7 +11533,7 @@ cmdEdit(vshControl *ctl, const vshCmd *cmd) if (dom == NULL) goto cleanup; - if (vshCommandOptBool(cmd, "skip-validate")) + if (vshCommandOptBool(ctl, cmd, "skip-validate")) define_flags &= ~VIR_DOMAIN_DEFINE_VALIDATE; #define EDIT_GET_XML virDomainGetXMLDesc(dom, query_flags) @@ -12239,17 +12239,17 @@ cmdEvent(vshControl *ctl, const vshCmd *cmd) size_t i; const char *eventName = NULL; int event = -1; - bool all = vshCommandOptBool(cmd, "all"); - bool loop = vshCommandOptBool(cmd, "loop"); + bool all = vshCommandOptBool(ctl, cmd, "all"); + bool loop = vshCommandOptBool(ctl, cmd, "loop"); int count = 0; - if (vshCommandOptBool(cmd, "list")) { + if (vshCommandOptBool(ctl, cmd, "list")) { for (event = 0; event < VIR_DOMAIN_EVENT_ID_LAST; event++) vshPrint(ctl, "%s\n", vshEventCallbacks[event].name); return true; } - if (vshCommandOptString(cmd, "event", &eventName) < 0) + if (vshCommandOptString(ctl, cmd, "event", &eventName) < 0) return false; if (eventName) { for (event = 0; event < VIR_DOMAIN_EVENT_ID_LAST; event++) @@ -12279,7 +12279,7 @@ cmdEvent(vshControl *ctl, const vshCmd *cmd) if (VIR_ALLOC_N(data, 1) < 0) goto cleanup; data[0].ctl = ctl; - data[0].loop = vshCommandOptBool(cmd, "loop"); + data[0].loop = vshCommandOptBool(ctl, cmd, "loop"); data[0].count = &count; data[0].cb = &vshEventCallbacks[event]; data[0].id = -1; @@ -12287,7 +12287,7 @@ cmdEvent(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "domain")) + if (vshCommandOptBool(ctl, cmd, "domain")) dom = vshCommandOptDomain(ctl, cmd, NULL); if (vshEventStart(ctl, timeout) < 0) goto cleanup; @@ -12421,14 +12421,14 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd) vshUpdateDiskXMLType update_type; const char *action = NULL; const char *success_msg = NULL; - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); - bool current = vshCommandOptBool(cmd, "current"); - bool force = vshCommandOptBool(cmd, "force"); - bool eject = vshCommandOptBool(cmd, "eject"); - bool insert = vshCommandOptBool(cmd, "insert"); - bool update = vshCommandOptBool(cmd, "update"); - bool block = vshCommandOptBool(cmd, "block"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool force = vshCommandOptBool(ctl, cmd, "force"); + bool eject = vshCommandOptBool(ctl, cmd, "eject"); + bool insert = vshCommandOptBool(ctl, cmd, "insert"); + bool update = vshCommandOptBool(ctl, cmd, "update"); + bool block = vshCommandOptBool(ctl, cmd, "block"); unsigned int flags = VIR_DOMAIN_AFFECT_CURRENT; VSH_EXCLUSIVE_OPTIONS_VAR(eject, insert); @@ -12488,7 +12488,7 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd) update_type))) goto cleanup; - if (vshCommandOptBool(cmd, "print-xml")) { + if (vshCommandOptBool(ctl, cmd, "print-xml")) { vshPrint(ctl, "%s", disk_xml); } else { if (virDomainUpdateDeviceFlags(dom, disk_xml, flags) != 0) { @@ -12548,7 +12548,7 @@ cmdDomFSTrim(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return ret; - if (vshCommandOptULongLong(cmd, "minimum", &minimum) < 0) { + if (vshCommandOptULongLong(ctl, cmd, "minimum", &minimum) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "minimum"); @@ -12604,7 +12604,7 @@ cmdDomFSFreeze(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { if (VIR_EXPAND_N(mountpoints, nmountpoints, 1) < 0) { vshError(ctl, _("%s: %d: failed to allocate mountpoints"), __FILE__, __LINE__); @@ -12661,7 +12661,7 @@ cmdDomFSThaw(vshControl *ctl, const vshCmd *cmd) if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) return false; - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { if (VIR_EXPAND_N(mountpoints, nmountpoints, 1) < 0) { vshError(ctl, _("%s: %d: failed to allocate mountpoints"), __FILE__, __LINE__); diff --git a/tools/virsh-host.c b/tools/virsh-host.c index a72fd05..aa37aa6 100644 --- a/tools/virsh-host.c +++ b/tools/virsh-host.c @@ -167,8 +167,8 @@ cmdFreecell(vshControl *ctl, const vshCmd *cmd) unsigned long nodes_cnt; unsigned long *nodes_id = NULL; unsigned long long *nodes_free = NULL; - bool all = vshCommandOptBool(cmd, "all"); - bool cellno = vshCommandOptBool(cmd, "cellno"); + bool all = vshCommandOptBool(ctl, cmd, "all"); + bool cellno = vshCommandOptBool(ctl, cmd, "cellno"); size_t i; char *cap_xml = NULL; xmlDocPtr xml = NULL; @@ -176,7 +176,7 @@ cmdFreecell(vshControl *ctl, const vshCmd *cmd) VSH_EXCLUSIVE_OPTIONS_VAR(all, cellno); - if (cellno && vshCommandOptInt(cmd, "cellno", &cell) < 0) { + if (cellno && vshCommandOptInt(ctl, cmd, "cellno", &cell) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "cellno"); @@ -305,13 +305,13 @@ cmdFreepages(vshControl *ctl, const vshCmd *cmd) char *cap_xml = NULL; xmlDocPtr doc = NULL; xmlXPathContextPtr ctxt = NULL; - bool all = vshCommandOptBool(cmd, "all"); - bool cellno = vshCommandOptBool(cmd, "cellno"); - bool pagesz = vshCommandOptBool(cmd, "pagesize"); + bool all = vshCommandOptBool(ctl, cmd, "all"); + bool cellno = vshCommandOptBool(ctl, cmd, "cellno"); + bool pagesz = vshCommandOptBool(ctl, cmd, "pagesize"); VSH_EXCLUSIVE_OPTIONS_VAR(all, cellno); - if (vshCommandOptScaledInt(cmd, "pagesize", &bytes, 1024, UINT_MAX) < 0) { + if (vshCommandOptScaledInt(ctl, cmd, "pagesize", &bytes, 1024, UINT_MAX) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "pagesize"); @@ -391,7 +391,7 @@ cmdFreepages(vshControl *ctl, const vshCmd *cmd) goto cleanup; } - if (vshCommandOptInt(cmd, "cellno", &cell) < 0) { + if (vshCommandOptInt(ctl, cmd, "cellno", &cell) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "cellno"); @@ -475,9 +475,9 @@ static bool cmdAllocpages(vshControl *ctl, const vshCmd *cmd) { bool ret = false; - bool add = vshCommandOptBool(cmd, "add"); - bool all = vshCommandOptBool(cmd, "all"); - bool cellno = vshCommandOptBool(cmd, "cellno"); + bool add = vshCommandOptBool(ctl, cmd, "add"); + bool all = vshCommandOptBool(ctl, cmd, "all"); + bool cellno = vshCommandOptBool(ctl, cmd, "cellno"); int startCell = -1; int cellCount = 1; unsigned int pageSizes[1]; @@ -490,14 +490,14 @@ cmdAllocpages(vshControl *ctl, const vshCmd *cmd) VSH_EXCLUSIVE_OPTIONS_VAR(all, cellno); - if (cellno && vshCommandOptInt(cmd, "cellno", &startCell) < 0) { + if (cellno && vshCommandOptInt(ctl, cmd, "cellno", &startCell) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "cellno"); return false; } - if (vshCommandOptScaledInt(cmd, "pagesize", &tmp, 1024, UINT_MAX) < 0) { + if (vshCommandOptScaledInt(ctl, cmd, "pagesize", &tmp, 1024, UINT_MAX) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "cellno"); @@ -505,7 +505,7 @@ cmdAllocpages(vshControl *ctl, const vshCmd *cmd) } pageSizes[0] = VIR_DIV_UP(tmp, 1024); - if (vshCommandOptULongLong(cmd, "pagecount", &pageCounts[0]) < 0) { + if (vshCommandOptULongLong(ctl, cmd, "pagecount", &pageCounts[0]) < 0) { vshError(ctl, "%s", _("pagecount has to be a number")); return false; } @@ -666,7 +666,7 @@ cmdNodeCpuMap(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) int cpu, cpunum; unsigned char *cpumap = NULL; unsigned int online; - bool pretty = vshCommandOptBool(cmd, "pretty"); + bool pretty = vshCommandOptBool(ctl, cmd, "pretty"); bool ret = false; cpunum = virNodeGetCPUMap(ctl->conn, &cpumap, &online, 0); @@ -756,7 +756,7 @@ static bool cmdNodeCpuStats(vshControl *ctl, const vshCmd *cmd) { size_t i, j; - bool flag_percent = vshCommandOptBool(cmd, "percent"); + bool flag_percent = vshCommandOptBool(ctl, cmd, "percent"); int cpuNum = VIR_NODE_CPU_STATS_ALL_CPUS; virNodeCPUStatsPtr params; int nparams = 0; @@ -764,7 +764,7 @@ cmdNodeCpuStats(vshControl *ctl, const vshCmd *cmd) unsigned long long cpu_stats[VSH_CPU_LAST] = { 0 }; bool present[VSH_CPU_LAST] = { false }; - if (vshCommandOptInt(cmd, "cpu", &cpuNum) < 0) { + if (vshCommandOptInt(ctl, cmd, "cpu", &cpuNum) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "cpu"); @@ -875,7 +875,7 @@ cmdNodeMemStats(vshControl *ctl, const vshCmd *cmd) virNodeMemoryStatsPtr params = NULL; bool ret = false; - if (vshCommandOptInt(cmd, "cell", &cellNum) < 0) { + if (vshCommandOptInt(ctl, cmd, "cell", &cellNum) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "cell"); @@ -951,7 +951,7 @@ cmdNodeSuspend(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "target", &target) < 0) return false; - if (vshCommandOptLongLong(cmd, "duration", &duration) < 0) { + if (vshCommandOptLongLong(ctl, cmd, "duration", &duration) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "duration"); @@ -1205,7 +1205,7 @@ cmdVersion(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) hvType, major, minor, rel); } - if (vshCommandOptBool(cmd, "daemon")) { + if (vshCommandOptBool(ctl, cmd, "daemon")) { ret = virConnectGetLibVersion(ctl->conn, &daemonVersion); if (ret < 0) { vshError(ctl, "%s", _("failed to get the daemon version")); @@ -1260,7 +1260,7 @@ cmdNodeMemoryTune(vshControl *ctl, const vshCmd *cmd) int rc = -1; size_t i; - if ((rc = vshCommandOptUInt(cmd, "shm-pages-to-scan", &value)) < 0) { + if ((rc = vshCommandOptUInt(ctl, cmd, "shm-pages-to-scan", &value)) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "shm-pages-to-scan"); @@ -1272,7 +1272,7 @@ cmdNodeMemoryTune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rc = vshCommandOptUInt(cmd, "shm-sleep-millisecs", &value)) < 0) { + if ((rc = vshCommandOptUInt(ctl, cmd, "shm-sleep-millisecs", &value)) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "shm-sleep-millisecs"); @@ -1284,7 +1284,7 @@ cmdNodeMemoryTune(vshControl *ctl, const vshCmd *cmd) goto save_error; } - if ((rc = vshCommandOptUInt(cmd, "shm-merge-across-nodes", &value)) < 0) { + if ((rc = vshCommandOptUInt(ctl, cmd, "shm-merge-across-nodes", &value)) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "shm-merge-across-nodes"); diff --git a/tools/virsh-interface.c b/tools/virsh-interface.c index 7122bc5..0f8ea95 100644 --- a/tools/virsh-interface.c +++ b/tools/virsh-interface.c @@ -343,8 +343,8 @@ static const vshCmdOptDef opts_interface_list[] = { static bool cmdInterfaceList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) { - bool inactive = vshCommandOptBool(cmd, "inactive"); - bool all = vshCommandOptBool(cmd, "all"); + bool inactive = vshCommandOptBool(ctl, cmd, "inactive"); + bool all = vshCommandOptBool(ctl, cmd, "all"); unsigned int flags = VIR_CONNECT_LIST_INTERFACES_ACTIVE; vshInterfaceListPtr list = NULL; size_t i; @@ -480,7 +480,7 @@ cmdInterfaceDumpXML(vshControl *ctl, const vshCmd *cmd) bool ret = true; char *dump; unsigned int flags = 0; - bool inactive = vshCommandOptBool(cmd, "inactive"); + bool inactive = vshCommandOptBool(ctl, cmd, "inactive"); if (inactive) flags |= VIR_INTERFACE_XML_INACTIVE; @@ -841,16 +841,16 @@ cmdInterfaceBridge(vshControl *ctl, const vshCmd *cmd) } /* use "no-stp" because we want "stp" to default true */ - stp = !vshCommandOptBool(cmd, "no-stp"); + stp = !vshCommandOptBool(ctl, cmd, "no-stp"); - if (vshCommandOptUInt(cmd, "delay", &delay) < 0) { + if (vshCommandOptUInt(ctl, cmd, "delay", &delay) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "delay"); goto cleanup; } - nostart = vshCommandOptBool(cmd, "no-start"); + nostart = vshCommandOptBool(ctl, cmd, "no-start"); /* Get the original interface into an xmlDoc */ if (!(if_xml = virInterfaceGetXMLDesc(if_handle, VIR_INTERFACE_XML_INACTIVE))) @@ -1054,7 +1054,7 @@ cmdInterfaceUnbridge(vshControl *ctl, const vshCmd *cmd) goto cleanup; } - nostart = vshCommandOptBool(cmd, "no-start"); + nostart = vshCommandOptBool(ctl, cmd, "no-start"); /* Get the bridge xml into an xmlDoc */ if (!(br_xml = virInterfaceGetXMLDesc(br_handle, VIR_INTERFACE_XML_INACTIVE))) diff --git a/tools/virsh-network.c b/tools/virsh-network.c index a45367a..8a52834 100644 --- a/tools/virsh-network.c +++ b/tools/virsh-network.c @@ -106,7 +106,7 @@ cmdNetworkAutostart(vshControl *ctl, const vshCmd *cmd) if (!(network = vshCommandOptNetwork(ctl, cmd, &name))) return false; - autostart = !vshCommandOptBool(cmd, "disable"); + autostart = !vshCommandOptBool(ctl, cmd, "disable"); if (virNetworkSetAutostart(network, autostart) < 0) { if (autostart) @@ -308,7 +308,7 @@ cmdNetworkDumpXML(vshControl *ctl, const vshCmd *cmd) if (!(network = vshCommandOptNetwork(ctl, cmd, NULL))) return false; - inactive = vshCommandOptBool(cmd, "inactive"); + inactive = vshCommandOptBool(ctl, cmd, "inactive"); if (inactive) flags |= VIR_NETWORK_XML_INACTIVE; @@ -652,12 +652,12 @@ cmdNetworkList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) { vshNetworkListPtr list = NULL; size_t i; - bool inactive = vshCommandOptBool(cmd, "inactive"); - bool all = vshCommandOptBool(cmd, "all"); - bool persistent = vshCommandOptBool(cmd, "persistent"); - bool transient = vshCommandOptBool(cmd, "transient"); - bool autostart = vshCommandOptBool(cmd, "autostart"); - bool no_autostart = vshCommandOptBool(cmd, "no-autostart"); + bool inactive = vshCommandOptBool(ctl, cmd, "inactive"); + bool all = vshCommandOptBool(ctl, cmd, "all"); + bool persistent = vshCommandOptBool(ctl, cmd, "persistent"); + bool transient = vshCommandOptBool(ctl, cmd, "transient"); + bool autostart = vshCommandOptBool(ctl, cmd, "autostart"); + bool no_autostart = vshCommandOptBool(ctl, cmd, "no-autostart"); unsigned int flags = VIR_CONNECT_LIST_NETWORKS_ACTIVE; if (inactive) @@ -904,9 +904,9 @@ cmdNetworkUpdate(vshControl *ctl, const vshCmd *cmd) int command, section, parentIndex = -1; const char *xml = NULL; char *xmlFromFile = NULL; - bool current = vshCommandOptBool(cmd, "current"); - bool config = vshCommandOptBool(cmd, "config"); - bool live = vshCommandOptBool(cmd, "live"); + bool current = vshCommandOptBool(ctl, cmd, "current"); + bool config = vshCommandOptBool(ctl, cmd, "config"); + bool live = vshCommandOptBool(ctl, cmd, "live"); unsigned int flags = 0; const char *affected; @@ -936,7 +936,7 @@ cmdNetworkUpdate(vshControl *ctl, const vshCmd *cmd) goto cleanup; } - if (vshCommandOptInt(cmd, "parent-index", &parentIndex) < 0) { + if (vshCommandOptInt(ctl, cmd, "parent-index", &parentIndex) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "parent-index"); @@ -1219,7 +1219,7 @@ cmdNetworkEvent(vshControl *ctl, const vshCmd *cmd) const char *eventName = NULL; int event; - if (vshCommandOptBool(cmd, "list")) { + if (vshCommandOptBool(ctl, cmd, "list")) { size_t i; for (i = 0; i < VIR_NETWORK_EVENT_ID_LAST; i++) @@ -1227,7 +1227,7 @@ cmdNetworkEvent(vshControl *ctl, const vshCmd *cmd) return true; } - if (vshCommandOptString(cmd, "event", &eventName) < 0) + if (vshCommandOptString(ctl, cmd, "event", &eventName) < 0) return false; if (!eventName) { vshError(ctl, "%s", _("either --list or event type is required")); @@ -1239,12 +1239,12 @@ cmdNetworkEvent(vshControl *ctl, const vshCmd *cmd) } data.ctl = ctl; - data.loop = vshCommandOptBool(cmd, "loop"); + data.loop = vshCommandOptBool(ctl, cmd, "loop"); data.count = 0; if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0) return false; - if (vshCommandOptBool(cmd, "network")) + if (vshCommandOptBool(ctl, cmd, "network")) net = vshCommandOptNetwork(ctl, cmd, NULL); if (vshEventStart(ctl, timeout) < 0) goto cleanup; @@ -1337,7 +1337,7 @@ cmdNetworkDHCPLeases(vshControl *ctl, const vshCmd *cmd) unsigned int flags = 0; virNetworkPtr network = NULL; - if (vshCommandOptString(cmd, "mac", &mac) < 0) + if (vshCommandOptString(ctl, cmd, "mac", &mac) < 0) return false; if (!(network = vshCommandOptNetwork(ctl, cmd, &name))) diff --git a/tools/virsh-nodedev.c b/tools/virsh-nodedev.c index 0d7315c..c748c15 100644 --- a/tools/virsh-nodedev.c +++ b/tools/virsh-nodedev.c @@ -387,7 +387,7 @@ cmdNodeListDevices(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) { const char *cap_str = NULL; size_t i; - bool tree = vshCommandOptBool(cmd, "tree"); + bool tree = vshCommandOptBool(ctl, cmd, "tree"); bool ret = true; unsigned int flags = 0; char **caps = NULL; @@ -395,7 +395,7 @@ cmdNodeListDevices(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) vshNodeDeviceListPtr list = NULL; int cap_type = -1; - ignore_value(vshCommandOptString(cmd, "cap", &cap_str)); + ignore_value(vshCommandOptString(ctl, cmd, "cap", &cap_str)); if (cap_str) { if (tree) { @@ -610,7 +610,7 @@ cmdNodeDeviceDetach(vshControl *ctl, const vshCmd *cmd) if (vshCommandOptStringReq(ctl, cmd, "device", &name) < 0) return false; - ignore_value(vshCommandOptString(cmd, "driver", &driverName)); + ignore_value(vshCommandOptString(ctl, cmd, "driver", &driverName)); if (!(device = virNodeDeviceLookupByName(ctl->conn, name))) { vshError(ctl, _("Could not find matching device '%s'"), name); diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c index 4865831..98c3359 100644 --- a/tools/virsh-pool.c +++ b/tools/virsh-pool.c @@ -105,7 +105,7 @@ cmdPoolAutostart(vshControl *ctl, const vshCmd *cmd) if (!(pool = vshCommandOptPool(ctl, cmd, "pool", &name))) return false; - autostart = !vshCommandOptBool(cmd, "disable"); + autostart = !vshCommandOptBool(ctl, cmd, "disable"); if (virStoragePoolSetAutostart(pool, autostart) < 0) { if (autostart) @@ -363,7 +363,7 @@ cmdPoolCreateAs(vshControl *ctl, const vshCmd *cmd) virStoragePoolPtr pool; const char *name; char *xml; - bool printXML = vshCommandOptBool(cmd, "print-xml"); + bool printXML = vshCommandOptBool(ctl, cmd, "print-xml"); if (!vshBuildPoolXML(ctl, cmd, &name, &xml)) return false; @@ -456,7 +456,7 @@ cmdPoolDefineAs(vshControl *ctl, const vshCmd *cmd) virStoragePoolPtr pool; const char *name; char *xml; - bool printXML = vshCommandOptBool(cmd, "print-xml"); + bool printXML = vshCommandOptBool(ctl, cmd, "print-xml"); if (!vshBuildPoolXML(ctl, cmd, &name, &xml)) return false; @@ -520,10 +520,10 @@ cmdPoolBuild(vshControl *ctl, const vshCmd *cmd) if (!(pool = vshCommandOptPool(ctl, cmd, "pool", &name))) return false; - if (vshCommandOptBool(cmd, "no-overwrite")) + if (vshCommandOptBool(ctl, cmd, "no-overwrite")) flags |= VIR_STORAGE_POOL_BUILD_NO_OVERWRITE; - if (vshCommandOptBool(cmd, "overwrite")) + if (vshCommandOptBool(ctl, cmd, "overwrite")) flags |= VIR_STORAGE_POOL_BUILD_OVERWRITE; if (virStoragePoolBuild(pool, flags) == 0) { @@ -698,7 +698,7 @@ cmdPoolDumpXML(vshControl *ctl, const vshCmd *cmd) { virStoragePoolPtr pool; bool ret = true; - bool inactive = vshCommandOptBool(cmd, "inactive"); + bool inactive = vshCommandOptBool(ctl, cmd, "inactive"); unsigned int flags = 0; char *dump; @@ -1033,12 +1033,12 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) unsigned int flags = VIR_CONNECT_LIST_STORAGE_POOLS_ACTIVE; vshStoragePoolListPtr list = NULL; const char *type = NULL; - bool details = vshCommandOptBool(cmd, "details"); + bool details = vshCommandOptBool(ctl, cmd, "details"); bool inactive, all; char *outputStr = NULL; - inactive = vshCommandOptBool(cmd, "inactive"); - all = vshCommandOptBool(cmd, "all"); + inactive = vshCommandOptBool(ctl, cmd, "inactive"); + all = vshCommandOptBool(ctl, cmd, "all"); if (inactive) flags = VIR_CONNECT_LIST_STORAGE_POOLS_INACTIVE; @@ -1047,16 +1047,16 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) flags = VIR_CONNECT_LIST_STORAGE_POOLS_ACTIVE | VIR_CONNECT_LIST_STORAGE_POOLS_INACTIVE; - if (vshCommandOptBool(cmd, "autostart")) + if (vshCommandOptBool(ctl, cmd, "autostart")) flags |= VIR_CONNECT_LIST_STORAGE_POOLS_AUTOSTART; - if (vshCommandOptBool(cmd, "no-autostart")) + if (vshCommandOptBool(ctl, cmd, "no-autostart")) flags |= VIR_CONNECT_LIST_STORAGE_POOLS_NO_AUTOSTART; - if (vshCommandOptBool(cmd, "persistent")) + if (vshCommandOptBool(ctl, cmd, "persistent")) flags |= VIR_CONNECT_LIST_STORAGE_POOLS_PERSISTENT; - if (vshCommandOptBool(cmd, "transient")) + if (vshCommandOptBool(ctl, cmd, "transient")) flags |= VIR_CONNECT_LIST_STORAGE_POOLS_TRANSIENT; if (vshCommandOptStringReq(ctl, cmd, "type", &type) < 0) diff --git a/tools/virsh-secret.c b/tools/virsh-secret.c index c6ceabd..7a9134c 100644 --- a/tools/virsh-secret.c +++ b/tools/virsh-secret.c @@ -508,16 +508,16 @@ cmdSecretList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) bool ret = false; unsigned int flags = 0; - if (vshCommandOptBool(cmd, "ephemeral")) + if (vshCommandOptBool(ctl, cmd, "ephemeral")) flags |= VIR_CONNECT_LIST_SECRETS_EPHEMERAL; - if (vshCommandOptBool(cmd, "no-ephemeral")) + if (vshCommandOptBool(ctl, cmd, "no-ephemeral")) flags |= VIR_CONNECT_LIST_SECRETS_NO_EPHEMERAL; - if (vshCommandOptBool(cmd, "private")) + if (vshCommandOptBool(ctl, cmd, "private")) flags |= VIR_CONNECT_LIST_SECRETS_PRIVATE; - if (vshCommandOptBool(cmd, "no-private")) + if (vshCommandOptBool(ctl, cmd, "no-private")) flags |= VIR_CONNECT_LIST_SECRETS_NO_PRIVATE; if (!(list = vshSecretListCollect(ctl, flags))) diff --git a/tools/virsh-snapshot.c b/tools/virsh-snapshot.c index 459a8a8..b52254d 100644 --- a/tools/virsh-snapshot.c +++ b/tools/virsh-snapshot.c @@ -180,23 +180,23 @@ cmdSnapshotCreate(vshControl *ctl, const vshCmd *cmd) char *buffer = NULL; unsigned int flags = 0; - if (vshCommandOptBool(cmd, "redefine")) + if (vshCommandOptBool(ctl, cmd, "redefine")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE; - if (vshCommandOptBool(cmd, "current")) + if (vshCommandOptBool(ctl, cmd, "current")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT; - if (vshCommandOptBool(cmd, "no-metadata")) + if (vshCommandOptBool(ctl, cmd, "no-metadata")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA; - if (vshCommandOptBool(cmd, "halt")) + if (vshCommandOptBool(ctl, cmd, "halt")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_HALT; - if (vshCommandOptBool(cmd, "disk-only")) + if (vshCommandOptBool(ctl, cmd, "disk-only")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY; - if (vshCommandOptBool(cmd, "reuse-external")) + if (vshCommandOptBool(ctl, cmd, "reuse-external")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT; - if (vshCommandOptBool(cmd, "quiesce")) + if (vshCommandOptBool(ctl, cmd, "quiesce")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE; - if (vshCommandOptBool(cmd, "atomic")) + if (vshCommandOptBool(ctl, cmd, "atomic")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC; - if (vshCommandOptBool(cmd, "live")) + if (vshCommandOptBool(ctl, cmd, "live")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_LIVE; if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) @@ -398,25 +398,25 @@ cmdSnapshotCreateAs(vshControl *ctl, const vshCmd *cmd) unsigned int flags = 0; const vshCmdOpt *opt = NULL; - if (vshCommandOptBool(cmd, "no-metadata")) { - if (vshCommandOptBool(cmd, "print-xml")) { + if (vshCommandOptBool(ctl, cmd, "no-metadata")) { + if (vshCommandOptBool(ctl, cmd, "print-xml")) { vshError(ctl, "%s", _("--print-xml is incompatible with --no-metadata")); return false; } flags |= VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA; } - if (vshCommandOptBool(cmd, "halt")) + if (vshCommandOptBool(ctl, cmd, "halt")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_HALT; - if (vshCommandOptBool(cmd, "disk-only")) + if (vshCommandOptBool(ctl, cmd, "disk-only")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY; - if (vshCommandOptBool(cmd, "reuse-external")) + if (vshCommandOptBool(ctl, cmd, "reuse-external")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT; - if (vshCommandOptBool(cmd, "quiesce")) + if (vshCommandOptBool(ctl, cmd, "quiesce")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE; - if (vshCommandOptBool(cmd, "atomic")) + if (vshCommandOptBool(ctl, cmd, "atomic")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_ATOMIC; - if (vshCommandOptBool(cmd, "live")) + if (vshCommandOptBool(ctl, cmd, "live")) flags |= VIR_DOMAIN_SNAPSHOT_CREATE_LIVE; if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) @@ -437,10 +437,10 @@ cmdSnapshotCreateAs(vshControl *ctl, const vshCmd *cmd) if (memspec && vshParseSnapshotMemspec(ctl, &buf, memspec) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "diskspec")) { + if (vshCommandOptBool(ctl, cmd, "diskspec")) { virBufferAddLit(&buf, "<disks>\n"); virBufferAdjustIndent(&buf, 2); - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { if (vshParseSnapshotDiskspec(ctl, &buf, opt->data) < 0) goto cleanup; } @@ -457,7 +457,7 @@ cmdSnapshotCreateAs(vshControl *ctl, const vshCmd *cmd) buffer = virBufferContentAndReset(&buf); - if (vshCommandOptBool(cmd, "print-xml")) { + if (vshCommandOptBool(ctl, cmd, "print-xml")) { vshPrint(ctl, "%s\n", buffer); ret = true; goto cleanup; @@ -482,7 +482,7 @@ vshLookupSnapshot(vshControl *ctl, const vshCmd *cmd, const char *arg, bool exclusive, virDomainPtr dom, virDomainSnapshotPtr *snap, const char **name) { - bool current = vshCommandOptBool(cmd, "current"); + bool current = vshCommandOptBool(ctl, cmd, "current"); const char *snapname = NULL; if (vshCommandOptStringReq(ctl, cmd, arg, &snapname) < 0) @@ -559,13 +559,13 @@ cmdSnapshotEdit(vshControl *ctl, const vshCmd *cmd) bool ret = false; unsigned int getxml_flags = VIR_DOMAIN_XML_SECURE; unsigned int define_flags = VIR_DOMAIN_SNAPSHOT_CREATE_REDEFINE; - bool rename_okay = vshCommandOptBool(cmd, "rename"); - bool clone_okay = vshCommandOptBool(cmd, "clone"); + bool rename_okay = vshCommandOptBool(ctl, cmd, "rename"); + bool clone_okay = vshCommandOptBool(ctl, cmd, "clone"); VSH_EXCLUSIVE_OPTIONS_EXPR("rename", rename_okay, "clone", clone_okay) - if (vshCommandOptBool(cmd, "current") && - vshCommandOptBool(cmd, "snapshotname")) + if (vshCommandOptBool(ctl, cmd, "current") && + vshCommandOptBool(ctl, cmd, "snapshotname")) define_flags |= VIR_DOMAIN_SNAPSHOT_CREATE_CURRENT; if (!(dom = vshCommandOptDomain(ctl, cmd, NULL))) @@ -677,7 +677,7 @@ cmdSnapshotCurrent(vshControl *ctl, const vshCmd *cmd) unsigned int flags = 0; const char *domname; - if (vshCommandOptBool(cmd, "security-info")) + if (vshCommandOptBool(ctl, cmd, "security-info")) flags |= VIR_DOMAIN_XML_SECURE; VSH_EXCLUSIVE_OPTIONS("name", "snapshotname"); @@ -723,7 +723,7 @@ cmdSnapshotCurrent(vshControl *ctl, const vshCmd *cmd) if (!(snapshot = virDomainSnapshotCurrent(dom, 0))) goto cleanup; - if (vshCommandOptBool(cmd, "name")) { + if (vshCommandOptBool(ctl, cmd, "name")) { const char *name; if (!(name = virDomainSnapshotGetName(snapshot))) goto cleanup; @@ -1527,12 +1527,12 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd) time_t creation_time_t; char timestr[100]; struct tm time_info; - bool tree = vshCommandOptBool(cmd, "tree"); - bool name = vshCommandOptBool(cmd, "name"); - bool from = vshCommandOptBool(cmd, "from"); - bool parent = vshCommandOptBool(cmd, "parent"); - bool roots = vshCommandOptBool(cmd, "roots"); - bool current = vshCommandOptBool(cmd, "current"); + bool tree = vshCommandOptBool(ctl, cmd, "tree"); + bool name = vshCommandOptBool(ctl, cmd, "name"); + bool from = vshCommandOptBool(ctl, cmd, "from"); + bool parent = vshCommandOptBool(ctl, cmd, "parent"); + bool roots = vshCommandOptBool(ctl, cmd, "roots"); + bool current = vshCommandOptBool(ctl, cmd, "current"); const char *from_snap = NULL; char *parent_snap = NULL; virDomainSnapshotPtr start = NULL; @@ -1547,7 +1547,7 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd) #define FILTER(option, flag) \ do { \ - if (vshCommandOptBool(cmd, option)) { \ + if (vshCommandOptBool(ctl, cmd, option)) { \ if (tree) { \ vshError(ctl, \ _("--%s and --tree are mutually exclusive"), \ @@ -1570,13 +1570,13 @@ cmdSnapshotList(vshControl *ctl, const vshCmd *cmd) if (roots) flags |= VIR_DOMAIN_SNAPSHOT_LIST_ROOTS; - if (vshCommandOptBool(cmd, "metadata")) + if (vshCommandOptBool(ctl, cmd, "metadata")) flags |= VIR_DOMAIN_SNAPSHOT_LIST_METADATA; - if (vshCommandOptBool(cmd, "no-metadata")) + if (vshCommandOptBool(ctl, cmd, "no-metadata")) flags |= VIR_DOMAIN_SNAPSHOT_LIST_NO_METADATA; - if (vshCommandOptBool(cmd, "descendants")) { + if (vshCommandOptBool(ctl, cmd, "descendants")) { if (!from && !current) { vshError(ctl, "%s", _("--descendants requires either --from or --current")); @@ -1729,7 +1729,7 @@ cmdSnapshotDumpXML(vshControl *ctl, const vshCmd *cmd) char *xml = NULL; unsigned int flags = 0; - if (vshCommandOptBool(cmd, "security-info")) + if (vshCommandOptBool(ctl, cmd, "security-info")) flags |= VIR_DOMAIN_XML_SECURE; if (vshCommandOptStringReq(ctl, cmd, "snapshotname", &name) < 0) @@ -1877,15 +1877,15 @@ cmdDomainSnapshotRevert(vshControl *ctl, const vshCmd *cmd) bool force = false; int result; - if (vshCommandOptBool(cmd, "running")) + if (vshCommandOptBool(ctl, cmd, "running")) flags |= VIR_DOMAIN_SNAPSHOT_REVERT_RUNNING; - if (vshCommandOptBool(cmd, "paused")) + if (vshCommandOptBool(ctl, cmd, "paused")) flags |= VIR_DOMAIN_SNAPSHOT_REVERT_PAUSED; /* We want virsh snapshot-revert --force to work even when talking * to older servers that did the unsafe revert by default but * reject the flag, so we probe without the flag, and only use it * when the error says it will make a difference. */ - if (vshCommandOptBool(cmd, "force")) + if (vshCommandOptBool(ctl, cmd, "force")) force = true; dom = vshCommandOptDomain(ctl, cmd, NULL); @@ -1976,11 +1976,11 @@ cmdSnapshotDelete(vshControl *ctl, const vshCmd *cmd) &snapshot, &name) < 0) goto cleanup; - if (vshCommandOptBool(cmd, "children")) + if (vshCommandOptBool(ctl, cmd, "children")) flags |= VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN; - if (vshCommandOptBool(cmd, "children-only")) + if (vshCommandOptBool(ctl, cmd, "children-only")) flags |= VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY; - if (vshCommandOptBool(cmd, "metadata")) + if (vshCommandOptBool(ctl, cmd, "metadata")) flags |= VIR_DOMAIN_SNAPSHOT_DELETE_METADATA_ONLY; /* XXX If we wanted, we could emulate DELETE_CHILDREN_ONLY even on diff --git a/tools/virsh-volume.c b/tools/virsh-volume.c index 5d6cc6a..07dfd67 100644 --- a/tools/virsh-volume.c +++ b/tools/virsh-volume.c @@ -202,7 +202,7 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd) virBuffer buf = VIR_BUFFER_INITIALIZER; unsigned long flags = 0; - if (vshCommandOptBool(cmd, "prealloc-metadata")) + if (vshCommandOptBool(ctl, cmd, "prealloc-metadata")) flags |= VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA; if (!(pool = vshCommandOptPool(ctl, cmd, "pool", NULL))) @@ -219,7 +219,7 @@ cmdVolCreateAs(vshControl *ctl, const vshCmd *cmd) goto cleanup; } - if (vshCommandOptString(cmd, "allocation", &allocationStr) > 0 && + if (vshCommandOptString(ctl, cmd, "allocation", &allocationStr) > 0 && vshVolSize(allocationStr, &allocation) < 0) { vshError(ctl, _("Malformed size %s"), allocationStr); goto cleanup; @@ -377,7 +377,7 @@ cmdVolCreate(vshControl *ctl, const vshCmd *cmd) unsigned int flags = 0; char *buffer = NULL; - if (vshCommandOptBool(cmd, "prealloc-metadata")) + if (vshCommandOptBool(ctl, cmd, "prealloc-metadata")) flags |= VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA; if (!(pool = vshCommandOptPool(ctl, cmd, "pool", NULL))) @@ -463,10 +463,10 @@ cmdVolCreateFrom(vshControl *ctl, const vshCmd *cmd) if (!(pool = vshCommandOptPool(ctl, cmd, "pool", NULL))) goto cleanup; - if (vshCommandOptBool(cmd, "prealloc-metadata")) + if (vshCommandOptBool(ctl, cmd, "prealloc-metadata")) flags |= VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA; - if (vshCommandOptBool(cmd, "reflink")) + if (vshCommandOptBool(ctl, cmd, "reflink")) flags |= VIR_STORAGE_VOL_CREATE_REFLINK; if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0) @@ -584,10 +584,10 @@ cmdVolClone(vshControl *ctl, const vshCmd *cmd) if (!(origvol = vshCommandOptVol(ctl, cmd, "vol", "pool", NULL))) goto cleanup; - if (vshCommandOptBool(cmd, "prealloc-metadata")) + if (vshCommandOptBool(ctl, cmd, "prealloc-metadata")) flags |= VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA; - if (vshCommandOptBool(cmd, "reflink")) + if (vshCommandOptBool(ctl, cmd, "reflink")) flags |= VIR_STORAGE_VOL_CREATE_REFLINK; origpool = virStoragePoolLookupByVolume(origvol); @@ -693,14 +693,14 @@ cmdVolUpload(vshControl *ctl, const vshCmd *cmd) const char *name = NULL; unsigned long long offset = 0, length = 0; - if (vshCommandOptULongLong(cmd, "offset", &offset) < 0) { + if (vshCommandOptULongLong(ctl, cmd, "offset", &offset) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "offset"); return false; } - if (vshCommandOptULongLongWrap(cmd, "length", &length) < 0) { + if (vshCommandOptULongLongWrap(ctl, cmd, "length", &length) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "length"); @@ -806,14 +806,14 @@ cmdVolDownload(vshControl *ctl, const vshCmd *cmd) unsigned long long offset = 0, length = 0; bool created = false; - if (vshCommandOptULongLong(cmd, "offset", &offset) < 0) { + if (vshCommandOptULongLong(ctl, cmd, "offset", &offset) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "offset"); return false; } - if (vshCommandOptULongLongWrap(cmd, "length", &length) < 0) { + if (vshCommandOptULongLongWrap(ctl, cmd, "length", &length) < 0) { vshError(ctl, _("Numeric value for <%s> option is malformed or out of range"), "length"); @@ -1126,13 +1126,13 @@ cmdVolResize(vshControl *ctl, const vshCmd *cmd) bool ret = false; bool delta = false; - if (vshCommandOptBool(cmd, "allocate")) + if (vshCommandOptBool(ctl, cmd, "allocate")) flags |= VIR_STORAGE_VOL_RESIZE_ALLOCATE; - if (vshCommandOptBool(cmd, "delta")) { + if (vshCommandOptBool(ctl, cmd, "delta")) { delta = true; flags |= VIR_STORAGE_VOL_RESIZE_DELTA; } - if (vshCommandOptBool(cmd, "shrink")) + if (vshCommandOptBool(ctl, cmd, "shrink")) flags |= VIR_STORAGE_VOL_RESIZE_SHRINK; if (!(vol = vshCommandOptVol(ctl, cmd, "vol", "pool", NULL))) @@ -1144,7 +1144,7 @@ cmdVolResize(vshControl *ctl, const vshCmd *cmd) if (*capacityStr == '-') { /* The API always requires a positive value; but we allow a * negative value for convenience. */ - if (delta && vshCommandOptBool(cmd, "shrink")) { + if (delta && vshCommandOptBool(ctl, cmd, "shrink")) { capacityStr++; } else { vshError(ctl, "%s", @@ -1384,7 +1384,7 @@ cmdVolList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED) char *outputStr = NULL; const char *unit; double val; - bool details = vshCommandOptBool(cmd, "details"); + bool details = vshCommandOptBool(ctl, cmd, "details"); size_t i; bool ret = false; int stringLength = 0; @@ -1676,7 +1676,7 @@ cmdVolPool(vshControl *ctl, const vshCmd *cmd) } /* Return the requested details of the parent storage pool */ - if (vshCommandOptBool(cmd, "uuid")) { + if (vshCommandOptBool(ctl, cmd, "uuid")) { /* Retrieve and return pool UUID string */ if (virStoragePoolGetUUIDString(pool, &uuid[0]) == 0) vshPrint(ctl, "%s\n", uuid); diff --git a/tools/virsh.c b/tools/virsh.c index 4425774..9f94b75 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -439,7 +439,7 @@ static const vshCmdOptDef opts_connect[] = { static bool cmdConnect(vshControl *ctl, const vshCmd *cmd) { - bool ro = vshCommandOptBool(cmd, "readonly"); + bool ro = vshCommandOptBool(ctl, cmd, "readonly"); const char *name = NULL; if (ctl->conn) { @@ -607,7 +607,7 @@ cmdHelp(vshControl *ctl, const vshCmd *cmd) { const char *name = NULL; - if (vshCommandOptString(cmd, "command", &name) <= 0) { + if (vshCommandOptString(ctl, cmd, "command", &name) <= 0) { const vshCmdGrp *grp; const vshCmdDef *def; @@ -875,7 +875,7 @@ cmdCd(vshControl *ctl, const vshCmd *cmd) return false; } - if (vshCommandOptString(cmd, "dir", &dir) <= 0) + if (vshCommandOptString(ctl, cmd, "dir", &dir) <= 0) dir = dir_malloced = virGetUserDirectory(); if (!dir) dir = "/"; @@ -973,12 +973,12 @@ cmdEcho(vshControl *ctl, const vshCmd *cmd) char *arg; virBuffer buf = VIR_BUFFER_INITIALIZER; - if (vshCommandOptBool(cmd, "shell")) + if (vshCommandOptBool(ctl, cmd, "shell")) shell = true; - if (vshCommandOptBool(cmd, "xml")) + if (vshCommandOptBool(ctl, cmd, "xml")) xml = true; - while ((opt = vshCommandOptArgv(cmd, opt))) { + while ((opt = vshCommandOptArgv(ctl, cmd, opt))) { char *str; virBuffer xmlbuf = VIR_BUFFER_INITIALIZER; @@ -1471,7 +1471,8 @@ vshCommandFree(vshCmd *cmd) * issued if a value is returned. */ static int -vshCommandOpt(const vshCmd *cmd, const char *name, vshCmdOpt **opt, +vshCommandOpt(vshControl *ctl ATTRIBUTE_UNUSED, const vshCmd *cmd, + const char *name, vshCmdOpt **opt, bool needData) { vshCmdOpt *candidate = cmd->opts; @@ -1515,12 +1516,13 @@ vshCommandOpt(const vshCmd *cmd, const char *name, vshCmdOpt **opt, * <0 in all other cases (@value untouched) */ int -vshCommandOptInt(const vshCmd *cmd, const char *name, int *value) +vshCommandOptInt(vshControl *ctl, const vshCmd *cmd, + const char *name, int *value) { vshCmdOpt *arg; int ret; - ret = vshCommandOpt(cmd, name, &arg, true); + ret = vshCommandOpt(ctl, cmd, name, &arg, true); if (ret <= 0) return ret; @@ -1530,15 +1532,14 @@ vshCommandOptInt(const vshCmd *cmd, const char *name, int *value) } static int -vshCommandOptUIntInternal(const vshCmd *cmd, - const char *name, - unsigned int *value, +vshCommandOptUIntInternal(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned int *value, bool wrap) { vshCmdOpt *arg; int ret; - if ((ret = vshCommandOpt(cmd, name, &arg, true)) <= 0) + if ((ret = vshCommandOpt(ctl, cmd, name, &arg, true)) <= 0) return ret; if (wrap) { @@ -1562,9 +1563,10 @@ vshCommandOptUIntInternal(const vshCmd *cmd, * See vshCommandOptInt() */ int -vshCommandOptUInt(const vshCmd *cmd, const char *name, unsigned int *value) +vshCommandOptUInt(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned int *value) { - return vshCommandOptUIntInternal(cmd, name, value, false); + return vshCommandOptUIntInternal(ctl, cmd, name, value, false); } /** @@ -1577,21 +1579,21 @@ vshCommandOptUInt(const vshCmd *cmd, const char *name, unsigned int *value) * See vshCommandOptInt() */ int -vshCommandOptUIntWrap(const vshCmd *cmd, const char *name, unsigned int *value) +vshCommandOptUIntWrap(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned int *value) { - return vshCommandOptUIntInternal(cmd, name, value, true); + return vshCommandOptUIntInternal(ctl, cmd, name, value, true); } static int -vshCommandOptULInternal(const vshCmd *cmd, - const char *name, - unsigned long *value, +vshCommandOptULInternal(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long *value, bool wrap) { vshCmdOpt *arg; int ret; - if ((ret = vshCommandOpt(cmd, name, &arg, true)) <= 0) + if ((ret = vshCommandOpt(ctl, cmd, name, &arg, true)) <= 0) return ret; if (wrap) { @@ -1615,9 +1617,10 @@ vshCommandOptULInternal(const vshCmd *cmd, * See vshCommandOptInt() */ int -vshCommandOptUL(const vshCmd *cmd, const char *name, unsigned long *value) +vshCommandOptUL(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long *value) { - return vshCommandOptULInternal(cmd, name, value, false); + return vshCommandOptULInternal(ctl, cmd, name, value, false); } /** @@ -1630,9 +1633,10 @@ vshCommandOptUL(const vshCmd *cmd, const char *name, unsigned long *value) * See vshCommandOptInt() */ int -vshCommandOptULWrap(const vshCmd *cmd, const char *name, unsigned long *value) +vshCommandOptULWrap(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long *value) { - return vshCommandOptULInternal(cmd, name, value, true); + return vshCommandOptULInternal(ctl, cmd, name, value, true); } /** @@ -1648,12 +1652,13 @@ vshCommandOptULWrap(const vshCmd *cmd, const char *name, unsigned long *value) * <0 in all other cases (@value untouched) */ int -vshCommandOptString(const vshCmd *cmd, const char *name, const char **value) +vshCommandOptString(vshControl *ctl, const vshCmd *cmd, + const char *name, const char **value) { vshCmdOpt *arg; int ret; - ret = vshCommandOpt(cmd, name, &arg, true); + ret = vshCommandOpt(ctl, cmd, name, &arg, true); if (ret <= 0) return ret; @@ -1677,10 +1682,8 @@ vshCommandOptString(const vshCmd *cmd, const char *name, const char **value) * returned and error message printed. */ int -vshCommandOptStringReq(vshControl *ctl, - const vshCmd *cmd, - const char *name, - const char **value) +vshCommandOptStringReq(vshControl *ctl, const vshCmd *cmd, + const char *name, const char **value) { vshCmdOpt *arg; int ret; @@ -1689,7 +1692,7 @@ vshCommandOptStringReq(vshControl *ctl, /* clear out the value */ *value = NULL; - ret = vshCommandOpt(cmd, name, &arg, true); + ret = vshCommandOpt(ctl, cmd, name, &arg, true); /* option is not required and not present */ if (ret == 0) return 0; @@ -1718,13 +1721,13 @@ vshCommandOptStringReq(vshControl *ctl, * See vshCommandOptInt() */ int -vshCommandOptLongLong(const vshCmd *cmd, const char *name, - long long *value) +vshCommandOptLongLong(vshControl *ctl, const vshCmd *cmd, + const char *name, long long *value) { vshCmdOpt *arg; int ret; - ret = vshCommandOpt(cmd, name, &arg, true); + ret = vshCommandOpt(ctl, cmd, name, &arg, true); if (ret <= 0) return ret; @@ -1734,15 +1737,14 @@ vshCommandOptLongLong(const vshCmd *cmd, const char *name, } static int -vshCommandOptULongLongInternal(const vshCmd *cmd, - const char *name, - unsigned long long *value, +vshCommandOptULongLongInternal(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long long *value, bool wrap) { vshCmdOpt *arg; int ret; - if ((ret = vshCommandOpt(cmd, name, &arg, true)) <= 0) + if ((ret = vshCommandOpt(ctl, cmd, name, &arg, true)) <= 0) return ret; if (wrap) { @@ -1766,10 +1768,10 @@ vshCommandOptULongLongInternal(const vshCmd *cmd, * See vshCommandOptInt() */ int -vshCommandOptULongLong(const vshCmd *cmd, const char *name, - unsigned long long *value) +vshCommandOptULongLong(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long long *value) { - return vshCommandOptULongLongInternal(cmd, name, value, false); + return vshCommandOptULongLongInternal(ctl, cmd, name, value, false); } /** @@ -1782,10 +1784,10 @@ vshCommandOptULongLong(const vshCmd *cmd, const char *name, * See vshCommandOptInt() */ int -vshCommandOptULongLongWrap(const vshCmd *cmd, const char *name, - unsigned long long *value) +vshCommandOptULongLongWrap(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long long *value) { - return vshCommandOptULongLongInternal(cmd, name, value, true); + return vshCommandOptULongLongInternal(ctl, cmd, name, value, true); } /** @@ -1800,15 +1802,15 @@ vshCommandOptULongLongWrap(const vshCmd *cmd, const char *name, * See vshCommandOptInt() */ int -vshCommandOptScaledInt(const vshCmd *cmd, const char *name, - unsigned long long *value, int scale, - unsigned long long max) +vshCommandOptScaledInt(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long long *value, + int scale, unsigned long long max) { const char *str; int ret; char *end; - ret = vshCommandOptString(cmd, name, &str); + ret = vshCommandOptString(ctl, cmd, name, &str); if (ret <= 0) return ret; if (virStrToLong_ull(str, &end, 10, value) < 0 || @@ -1829,11 +1831,12 @@ vshCommandOptScaledInt(const vshCmd *cmd, const char *name, * option is present without actually using that data. */ bool -vshCommandOptBool(const vshCmd *cmd, const char *name) +vshCommandOptBool(vshControl *ctl, const vshCmd *cmd, + const char *name) { vshCmdOpt *dummy; - return vshCommandOpt(cmd, name, &dummy, false) == 1; + return vshCommandOpt(ctl, cmd, name, &dummy, false) == 1; } /** @@ -1848,7 +1851,8 @@ vshCommandOptBool(const vshCmd *cmd, const char *name) * list of supported options in CMD->def->opts. */ const vshCmdOpt * -vshCommandOptArgv(const vshCmd *cmd, const vshCmdOpt *opt) +vshCommandOptArgv(vshControl *ctl ATTRIBUTE_UNUSED, const vshCmd *cmd, + const vshCmdOpt *opt) { opt = opt ? opt->next : cmd->opts; @@ -1864,9 +1868,10 @@ vshCommandOptArgv(const vshCmd *cmd, const vshCmdOpt *opt) * value of the timeout in milliseconds. Return -1 on error, 0 if * no timeout was requested, and 1 if timeout was set. */ int -vshCommandOptTimeoutToMs(vshControl *ctl, const vshCmd *cmd, int *timeout) +vshCommandOptTimeoutToMs(vshControl *ctl, const vshCmd *cmd, + int *timeout) { - int rv = vshCommandOptInt(cmd, "timeout", timeout); + int rv = vshCommandOptInt(ctl, cmd, "timeout", timeout); if (rv < 0 || (rv > 0 && *timeout < 1)) { vshError(ctl, "%s", _("invalid timeout")); diff --git a/tools/virsh.h b/tools/virsh.h index 32b1c91..ce9c733 100644 --- a/tools/virsh.h +++ b/tools/virsh.h @@ -279,44 +279,47 @@ bool vshCmddefHelp(vshControl *ctl, const char *name); const vshCmdGrp *vshCmdGrpSearch(const char *grpname); bool vshCmdGrpHelp(vshControl *ctl, const char *name); -int vshCommandOptInt(const vshCmd *cmd, const char *name, int *value) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; -int vshCommandOptUInt(const vshCmd *cmd, const char *name, - unsigned int *value) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; -int vshCommandOptUIntWrap(const vshCmd *cmd, const char *name, - unsigned int *value) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; -int vshCommandOptUL(const vshCmd *cmd, const char *name, - unsigned long *value) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; -int vshCommandOptULWrap(const vshCmd *cmd, const char *name, - unsigned long *value) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; -int vshCommandOptString(const vshCmd *cmd, const char *name, - const char **value) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; +int vshCommandOptInt(vshControl *ctl, const vshCmd *cmd, + const char *name, int *value) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; +int vshCommandOptUInt(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned int *value) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; +int vshCommandOptUIntWrap(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned int *value) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; +int vshCommandOptUL(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long *value) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; +int vshCommandOptULWrap(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long *value) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; +int vshCommandOptString(vshControl *ctl, const vshCmd *cmd, + const char *name, const char **value) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; int vshCommandOptStringReq(vshControl *ctl, const vshCmd *cmd, const char *name, const char **value) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3) ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; -int vshCommandOptLongLong(const vshCmd *cmd, const char *name, - long long *value) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; -int vshCommandOptULongLong(const vshCmd *cmd, const char *name, - unsigned long long *value) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; -int vshCommandOptULongLongWrap(const vshCmd *cmd, const char *name, - unsigned long long *value) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; -int vshCommandOptScaledInt(const vshCmd *cmd, const char *name, - unsigned long long *value, int scale, - unsigned long long max) - ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK; -bool vshCommandOptBool(const vshCmd *cmd, const char *name); -const vshCmdOpt *vshCommandOptArgv(const vshCmd *cmd, +int vshCommandOptLongLong(vshControl *ctl, const vshCmd *cmd, + const char *name, long long *value) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; +int vshCommandOptULongLong(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long long *value) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; +int vshCommandOptULongLongWrap(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long long *value) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; +int vshCommandOptScaledInt(vshControl *ctl, const vshCmd *cmd, + const char *name, unsigned long long *value, + int scale, unsigned long long max) + ATTRIBUTE_NONNULL(4) ATTRIBUTE_RETURN_CHECK; +bool vshCommandOptBool(vshControl *ctl, const vshCmd *cmd, + const char *name); +const vshCmdOpt *vshCommandOptArgv(vshControl *ctl, const vshCmd *cmd, const vshCmdOpt *opt); -int vshCommandOptTimeoutToMs(vshControl *ctl, const vshCmd *cmd, int *timeout); +int vshCommandOptTimeoutToMs(vshControl *ctl, const vshCmd *cmd, + int *timeout); /* Filter flags for various vshCommandOpt*By() functions */ typedef enum { @@ -452,8 +455,8 @@ char *_vshStrdup(vshControl *ctl, const char *s, const char *filename, * before anything that would require cleanup. */ # define VSH_EXCLUSIVE_OPTIONS(NAME1, NAME2) \ - VSH_EXCLUSIVE_OPTIONS_EXPR(NAME1, vshCommandOptBool(cmd, NAME1), \ - NAME2, vshCommandOptBool(cmd, NAME2)) + VSH_EXCLUSIVE_OPTIONS_EXPR(NAME1, vshCommandOptBool(ctl, cmd, NAME1), \ + NAME2, vshCommandOptBool(ctl, cmd, NAME2)) /* VSH_EXCLUSIVE_OPTIONS_VAR: * @@ -505,8 +508,8 @@ char *_vshStrdup(vshControl *ctl, const char *s, const char *filename, * before anything that would require cleanup. */ # define VSH_REQUIRE_OPTION(NAME1, NAME2) \ - VSH_REQUIRE_OPTION_EXPR(NAME1, vshCommandOptBool(cmd, NAME1), \ - NAME2, vshCommandOptBool(cmd, NAME2)) + VSH_REQUIRE_OPTION_EXPR(NAME1, vshCommandOptBool(ctl, cmd, NAME1), \ + NAME2, vshCommandOptBool(ctl, cmd, NAME2)) /* VSH_REQUIRE_OPTION_VAR: * -- 2.1.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list