[libvirt] [PATCH v4 7/7] virt-admin: Introduce cmdSrvList
Michal Privoznik
mprivozn at redhat.com
Tue Feb 16 16:18:12 UTC 2016
On 12.02.2016 11:08, Erik Skultety wrote:
> Since we introduced listing API earlier in these series, it's time
> to wire up the API to the virt-admin client.
>
> Signed-off-by: Erik Skultety <eskultet at redhat.com>
> ---
> tools/virt-admin.c | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 61 insertions(+)
>
> diff --git a/tools/virt-admin.c b/tools/virt-admin.c
> index 1372963..23af274 100644
> --- a/tools/virt-admin.c
> +++ b/tools/virt-admin.c
> @@ -300,6 +300,56 @@ cmdConnect(vshControl *ctl, const vshCmd *cmd)
> return !!priv->conn;
> }
>
> +
> +/* ---------------
> + * Command Srv-list
> + * ---------------
> + */
> +
> +static const vshCmdInfo info_srv_list[] = {
> + {.name = "help",
> + .data = N_("list available servers on a daemon")
> + },
> + {.name = "desc",
> + .data = N_("List all manageable servers on a daemon.")
> + },
> + {.name = NULL}
> +};
> +
> +static bool
> +cmdSrvList(vshControl *ctl, const vshCmd *cmd ATTRIBUTE_UNUSED)
> +{
> + int nsrvs = 0;
> + size_t i;
> + bool ret = false;
> + const char *uri = NULL;
> + virAdmServerPtr *srvs = NULL;
> + vshAdmControlPtr priv = ctl->privData;
> +
> + /* Obtain a list of available servers on the daemon */
> + if ((nsrvs = virAdmConnectListServers(priv->conn, &srvs, 0)) < 0) {
> + uri = virAdmConnectGetURI(priv->conn);
> + vshError(ctl, _("failed to obtain list of available servers from %s"),
> + NULLSTR(uri));
> + goto cleanup;
> + }
> +
> + printf(" %-5s %-15s\n", "Id", "Name");
> + printf("---------------\n");
> + for (i = 0; i < nsrvs; i++)
> + vshPrint(ctl, " %-5zu %-15s\n", i, virAdmServerGetName(srvs[i]));
> +
> + ret = true;
> + cleanup:
> + if (srvs) {
> + for (i = 0; i < nsrvs; i++)
> + virAdmServerFree(srvs[i]);
> + VIR_FREE(srvs);
> + }
Or: for (i = 0; i < nsrvs && srvs; i++); I've noticed this could be
changed in previous patch too. The similar pattern appears there. But
it's your call what you prefer more.
ACK
Michal
More information about the libvir-list
mailing list