[libvirt] [libvirt PATCH v6 02/15] xen_common: Change xenConfigGetUUID to using virConfGetValueString

John Ferlan jferlan at redhat.com
Wed Sep 19 20:49:01 UTC 2018



On 09/18/2018 02:48 PM, Fabiano Fidêncio wrote:
> Signed-off-by: Fabiano Fidêncio <fidencio at redhat.com>
> ---
>  src/xenconfig/xen_common.c | 16 ++++++----------
>  1 file changed, 6 insertions(+), 10 deletions(-)
> 
> diff --git a/src/xenconfig/xen_common.c b/src/xenconfig/xen_common.c
> index a35e1aff58..08fbfff44f 100644
> --- a/src/xenconfig/xen_common.c
> +++ b/src/xenconfig/xen_common.c
> @@ -183,7 +183,7 @@ xenConfigCopyStringOpt(virConfPtr conf, const char *name, char **value)
>  static int
>  xenConfigGetUUID(virConfPtr conf, const char *name, unsigned char *uuid)
>  {
> -    virConfValuePtr val;
> +    char *string = NULL;
>  
>      if (!uuid || !name || !conf) {
>          virReportError(VIR_ERR_INVALID_ARG, "%s",
> @@ -191,7 +191,7 @@ xenConfigGetUUID(virConfPtr conf, const char *name, unsigned char *uuid)
>          return -1;
>      }
>  
> -    if (!(val = virConfGetValue(conf, name))) {

This is the "isn't found" or "was missing" test...

> +    if (virConfGetValueString(conf, name, &string) <= 0) {

But this takes it one step too far. If return < 0, then we had "if
(cval->type != VIR_CONF_STRING)" or "VIR_STRDUP" failure.

However, if you change to:

    int rc;
...
    if ((rc = virConfGetValueString(conf, name, &string)) < 0)
        return -1;

    if (rc == 0) {

then I believe we're good.

With the change,

Reviewed-by: John Ferlan <jferlan at redhat.com>

John

[I can make the change locally, but I've forgotten the magic incantation
or rpm that allows the xen* files to be built on my host, so I'm flying
blind w/r/t proper syntax ;-)]

>          if (virUUIDGenerate(uuid) < 0) {
>              virReportError(VIR_ERR_INTERNAL_ERROR,
>                             "%s", _("Failed to generate UUID"));

[...]




More information about the libvir-list mailing list