[libvirt] [PATCH 10/21] Change virNetDaemonGetServerNames to virNetDaemonGetServers

Ján Tomko jtomko at redhat.com
Thu Mar 10 13:48:28 UTC 2016


On Thu, Mar 10, 2016 at 05:53:59AM +0100, Martin Kletzander wrote:
> For now it does not matter which ones we return as the code is similarly
> complex, however it will fit in with other constructs in the future,
> mainly when we will be able to generate dispatch helpers.
> 
> Signed-off-by: Martin Kletzander <mkletzan at redhat.com>
> ---
>  daemon/admin_server.c   | 18 +-----------------
>  src/libvirt_remote.syms |  1 +
>  src/rpc/virnetdaemon.c  | 43 +++++++++++++++++++++++++++++--------------
>  src/rpc/virnetdaemon.h  |  2 +-
>  4 files changed, 32 insertions(+), 32 deletions(-)

>  ssize_t
> -virNetDaemonGetServerNames(virNetDaemonPtr dmn,
> -                           const char ***servers)
> +virNetDaemonGetServers(virNetDaemonPtr dmn,
> +                       virNetServerPtr **servers)
>  {
> -    virHashKeyValuePairPtr items = NULL;
> -    size_t nservers = 0;
> +    struct collectData data = { servers, 0 };
>      ssize_t ret = -1;
> -    size_t i;
> 
>      *servers = NULL;
> 
>      virObjectLock(dmn);
> 
> -    items = virHashGetItems(dmn->servers, NULL);
> -    if (!items)
> +    if (virHashForEach(dmn->servers, collectServers, &data) < 0) {
> +        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> +                       _("Cannot get all servers from daemon"));
>          goto cleanup;
> -
> -    for (i = 0; items[i].key; i++) {
> -        if (VIR_APPEND_ELEMENT(*servers, nservers, items[i].key) < 0)
> -            goto cleanup;
>      }
> 
> -    ret = nservers;
> +    ret = data.nservers;
> 
>   cleanup:
>      if (ret < 0)
> -        VIR_FREE(*servers);
> -    VIR_FREE(items);
> +        virObjectListFree(*servers);

This should be virObjectListFreeCount, since the array is no longer
allocated upfront.

ACK with that fixed.

Jan




More information about the libvir-list mailing list